isEmpty() 分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空) "" 分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串) null
是未分配内存空间,无值,是一种无值(值不存在)
例子1:
String s=" "; String trim = s.trim(); if(trim.isEmpty()){ System.out.println("trim是Empty"); } if(trim==""){ System.out.println("trim是空字符串"); }
输出为trim是Empty
例子2:
String a=null; if(a.equals("")||a==null){ System.out.println("正确"); }
报错java.lang.NullPointerException
String a=null;if(a==null||a.equals("")){System.out.println("正确");}
输出正确