public class MainFrame {
public static void main(String[] agrs) {
String xx = "asdaf";
String aa = null ;
if(xx.equals(aa)) {
System.out.println("null");
} else {
System.out.print(xx);
}
}
}
这样用字符串跟null比较会出错吗, 会有什么严重问题吗??
public static void main(String[] agrs) {
String xx = "asdaf";
String aa = null ;
if(xx.equals(aa)) {
System.out.println("null");
} else {
System.out.print(xx);
}
}
}
这样用字符串跟null比较会出错吗, 会有什么严重问题吗??
public static void main(String[] agrs) {
String xx = "asdaf";
String aa = null ;
if(xx.equals(aa)) {
System.out.println("null");
} else {
System.out.print(xx);
}
}
}
没问题如果改成
public class MainFrame {
public static void main(String[] agrs) {
String xx = "asdaf";
String aa = null ;
if(aa.equals(xx)) {
System.out.println("null");
} else {
System.out.print(xx);
}
}
}
就会报空指针异常,所以用equals的时候要注意前面的字符串是不是NULL了
当正确判断一个字符串是否为空应该这样:
if(xx != null && !xx.equals(""))
null 不是 String 类型
所以返回 false
并没有什么错误
[color=#FF0000"asdaf".equals(null)[/color] 有没有什么严重问题。
这个问题等价于:null instanceof String 有没有什么严重问题。
当然:没有问题。结果都是false