Java中的null和""的区别
①null是没有地址; ""是有地址但是里面的内容是空的
②""是字符串常量,同时也是一个String类的对象,既然是对象当然可以调用String类中的方法;null是空常量,不能调用任何方法,否则会出现空指针异常,null常量可以给任意引用的引用数据类型赋值
⭐因此如果说要判断输入是否为空时,用的是“”而不是null,键盘输入不了null,即使按enter键也相当于输入了一个字符
一般来说,null是用来判断引用类型是否分配了存储空间 ;而""是针对字符串的;
String s=null; //null是未分配堆内存空间,他是一个空引用
String s; //分配了一个内存空间,没存入任何对象,他是一个没有初始化的引用;在堆中的常量池也是没有为其分配内存空间的,只是在栈中存储了s 的引用
String s="";//分配了一个内存空间,存了一个字符串对象
详细可看:java中NULL与" "的区别