我是android新手。我想知道如何将Integer与整数数组进行比较。有一组整数数组(Ex)array_int = {1,2,3,4}和单整数int i = 2,这里我要比较两个整数,如果单个整数出现在数组整数中,我想要打破这个过程。
for(i=0;i<integerArray.length;i++){
if(singleinteger!=integerArray[i]){ // some action }
else{
// Stop the action }
在这种情况下,它比较两个整数。并且在两个整数相等的时候进行中断,否则迭代动作直到循环结束。
答案 0 :(得分:3)
对于简单的解决方案,请使用:
for (i = 0; i < intArray.length; i++) {
if (singleInt != intArray[i]) {
// some action
} else {
break;
}
}
当两个值相等时,这将从循环中断开。但是,有些纯粹主义者不喜欢break
的使用,因为它会引入可读性问题,如果你的some action
很大(就代码行而言),那么尤其是删除远离for
本身的退出条件。
要解决此问题,您可能需要考虑扭转if
语句的意义,以便退出条件更接近for
:
for (i = 0; i < intArray.length; i++) {
if (singleInt == intArray[i])
break;
// some action
}
这也可以让您删除else
(else
本身,不其内容),因为不再需要它了。
但是,如果你要这样做,你也可以将它完全融入for
并完成它:
for (i = 0; (i < intArray.length) && (singleInt != intArray[i]); i++) {
// some action
}
答案 1 :(得分:2)
答案 2 :(得分:1)
for(i = 0; i < integerArray.length; i++ {
if(singleinteger != integerArray[i] {
//some action
}
else {
break; //add this line
}
}
答案 3 :(得分:1)
如果您愿意,可以阅读整数测试here
否则,在您的代码中,您只是错过了循环的“退出”。
for(i=0;i<integerArray.length;i++){
if(singleinteger!=integerArray[i]){ // some action
}else{
// Stop the action
break;
}
但这只是在您不需要处理数组的其余部分时。