00问答网
所有问题
Java中定义变量时赋值为null和赋值为“”有什么区别?
null究竟是指什么,怎么理解
举报该问题
推荐答案 2011-09-27
两者的区别是是否为该变量开辟内存空间,null只是没有为该变量申请内存空间,所以只是对该变量进行了声明,因为其在内存中尚不存在所以无法直接调用,需要进行初始化工作之后才能调用
public class TestObject
{
public static void main(String args[]){
String s1 = "";
String s2 = null;
System.out.println(s1.length());//正常调用
//System.out.println(s2.length());//s2尚不存在,空指针错
s2 = "java";
System.out.println(s2.length());//初始化完成,正常调用
}
}
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/rnr0erTD0.html
其他回答
第1个回答 2011-09-27
null是什么都没赋,而""是有值的,比如:
String s1 = null;
String s2 = "";
s1.length(); //报错,空引用
s2.length(); //返回长度为0
由于好长时间不用JAVA,都忘的差不多了,上面写的代码可能会有问题,但不影响你理解null和""。
记着null是什么都没有,调用此类变量的非静态成员函数会报空引用错误就可以了。
第2个回答 2011-09-30
null空引用 就是对象声明没有初始化
“”空字符串 就是没有内容的字符串
相似回答
Java中定义变量时赋值为null和赋值为
“”
有什么区别?
答:
String str2 = ""; str应用一个空串 也就
是null
没有分配空间,""分配了空间,因此str1还不是一个实例化的对象,儿str2已经实例化。 注意因为null不是对象,""是对象。
Java中null 与
0 的详细
区别
答:
在
java中
,一个对象可以被
赋值为null
。而0仅仅是代表int类型的一个赋值。声明Object obj;obj.getClass();那么编译器肯定会报错不让你编译 声明Object obj=null;obj.getClass();那么编译器不报错了,因为obj被赋值为null,null算是一个对象,代表空值,无指向任何内存地址。null不是一个实例对象所以如...
Java中
的字符串被
赋值null和
""
有区别
么?
答:
两者是有
区别的
:堆栈中:假设声明String s1 = null;String s2 = “”;其实上栈中会有存放s1,但是堆中没有产生数据;但是对于第二条语句,不仅栈中有s2,堆中也会有“”(空字符串,假如以前存在的话,s2会直接指向,假如没有,就会新建一个);方法引用:s1
为null
,不能调用String的任何方法...
java
null是什么
意思
答:
首先,Java中的null是表示一个变量未被初始化,或不指向任何对象的占位符。
当一个变量被赋值为null时,它不会指向任何有效的内存地址
。这种情况在编写程序时是很常见的,例如,为了在程序运行时动态地创建对象,需要将它们的引用变量初始化为null。其次,Java中的null与其他语言中的NULL或nil有点类似。在...
大家正在搜
定义变量并赋值
c语言中变量的定义
c语言数组定义和赋值
变量赋值
字符型变量的赋值规则
变量是什么意思
若有定义int a[2][3]
java变量
指针变量
相关问题
Java 中Connection 赋值为Null 与 con...
Java中定义变量时赋值为null和赋值为“”有什么区别?
java定义变量为什么要初赋值为null?
java当中为什么有的变量声明而不赋值,比如 int a;那...
java中变量不等于null跟null不等于变量,如a !=...
JAVA中,字符串为null和字符串为""有什么区别?
java中new出来一个对象和定义一个对象赋值为空有什么不同
谁知道java定义变量为什么要初赋值为null