String[] s =""是不合法的,不能这样写
String[]是数组对象
String是字符串对象
这是两种类,看起来一样,但是没法等同的
下面是String s = ""和String s = null的对比,结果写在语句后了
- public class StringNull {
- public static void main(String[] args) {
- String s1 = "";
- String s2 = null;
- String s3 = new String();
- System.out.println(s1.equals(""));//true
- System.out.println(s1.equals(null));//false
- System.out.println(s1.equals(s3));//true
- //System.out.println(s2.equals(null));//空指针异常
- }
- }
复制代码
可见,""和null是不同的,null表示内存中还不存在这个对象;而""已经分配内存空间了,但还没有内容,与new String()的结果是相同的,即s1.equals(s3)是真的。 |