我有一个循环,它不会在应该停止的时候停止,而且它只发生在我的生产服务器上,而不是发生在我的开发服务器上。所以我要疯了。
//objectName can be any value from [a-}],
char objectName = 'a'; //objectName is initialized with value 'a'
//before objectName hit the line below, it was increment objectName++; until the value of
//objectName = '}'
for( char c = objectName; c <= 'z'; c++ ){
//do something
}
objectName 可以是任何字符,但就我而言,我知道我的 objectName 将是“}”字符,从技术上讲,它比“z”要多。所以我不明白的是为什么我的循环仍在执行。
有趣的是,我们有使用 JAVA 1.6.0_30 的测试服务器,我们尝试在那里进行测试,并且运行得很好。
我的开发服务器使用:java 1.6.0_45 我的产品服务器使用:java 1.6.0_30
如果您发现我的逻辑有任何问题,请告诉我,任何会使我的循环处于 Activity 状态的情况,即使它不应该随意让我知道。
最佳答案
我不是专家,所以我在这里可能是错的,但使用字符来迭代 for 循环对我来说看起来很陌生,而且可能不是最好的做法。
我建议使用字符数组/(数组)列表,并以这种方式迭代列表,或者像 @Chris 所说的那样,通过获取字符的数值
for(int i = Character.getNumericValue(objectName); i <= Character.getNumericValue('z'); i++)
{
//System.out.println("test");
}
就像我说的,我不是专家,但使用数字来迭代 for 循环似乎是一种更好的做法,或者至少是一种更稳定的做法。
关于java - 请帮助检查我的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23748242/