null.equals

来源:百度知道 编辑:UC知道 时间:2024/09/23 04:03:01
public class test {
private static String b = "a";

public static void main(String[] args) {
String[] s = new String[]{null, "a", "", "",};
new test().contain(s, b);
}

public boolean contain(String[] s, String b) {
for (int i = 0; i < s.length; i++){
if (s[i].equals(b)) {
return true;
}
}
return false;
}
}
执行以上方法,会报if (s[i].equals(b)) {行有错误,应该是由于s中第一个值是null,是因为null.equal("a")不能比较么?但如果直接执行:
if (null.equal("abc")) {
return true;
}
return false;
就会返回false,并不会抛出异常,这说明null.equal("abc")是允许的,这又怎么解释呢?谢谢!

if (null.equal("abc"))?
能编译过来么?请问你用的是哪个版本的java啊?
null.equal("kdkdk");是错的,谢谢!

Do U know what does null is?
null是关键字,表示对象为空,对象只有句柄,没有堆指向。
既然是关键字怎么可以调用方法?
用非空对象调用方法。
而且注意命名规范。
类名首字母大写

异常报的是空指针异常,因为你s[i]是空的!