为什么会发生这种情况?比如下面的截图:
方法即将返回类似的电话号码,完整代码为:
private String makeQueryForAllEqualNumbers (String number){
String num1 = "0", num2 = "0";
String res;
if (number.startsWith("+") && number.length() == 12){ // +7965
num1 = "" + (Integer.parseInt("" + number.charAt(1)) + 1) + number.substring(2); //8965
num2 = "+" + number.substring(2); //+965
}
if (number.charAt(0) >= '0' && number.charAt(0) <=9 && number.length() == 11) { //means 8965
num1 = "+" + (Integer.parseInt("" + number.charAt(0)) - 1) + number.substring(1); //+7965
num2 = "+" + number.substring(1);
}
else return number;
res = number + "' OR ADDRESS = '" + num1 + "' OR ADDRESS = '" + num2;
return res;
答案 0 :(得分:0)
如果您只提供简单的else
,那么如果both condition
以上不满足则会始终return control
,因此它在行ll以下从未执行过。
所以这一行不会执行:
res = number + "' OR ADDRESS = '" + num1 + "' OR ADDRESS = '" + num2;
一种方法是将return
语句置于if
条件而不是else
。