因为如果你的Iterator it = list.iterator();
这一句it是空的,那么就不会执行到return true;
也就是说你的这个代码有可能会执行不到return的语句。所以不通过。
}
return false; //这里加一个就可以了。
} catch (SQLException e) {
嗯,你catch里面return false了,假如出现异常,肯定返回false,假如没有异常发生呢?肯定走try里面把,假如迭代器空的,没有任何元素;或者有元素,但是没有满足equals("baite2008")的又如何呢?这个时候哪来的return呢?还有,String是引用类型,比值用equals噢,不能用==
public static boolean searchduibi() {
try {
boolean b = true;
if (b) {
return true;
} else {
//这里需要加上,下边就不用 了
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
//if 需要else 返回值
// return false; /////错哪了??非要在这加个return语句才不报错,为啥呢?
}
注意看你的方法的返回类型,void表示没有返回值,
你这个public static boolean searchduibi() {。。。}方法,要求该方法必须返回一个boolean类型的值,否则会报错