String a; String a=null; Sting a="" ;String a="b";区别

来源:互联网 发布:帝国时代2mac中文版 编辑:程序博客网 时间:2024/06/10 14:10


1. String a; 只是定义了一个String类型变量a,并没有给它赋初值,在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险)


2.  String a=null; 只是定义了一个句柄,也就是说你有了个引用,但是这个引用未指向任何内存空间

     注意:string.trim()就会抛出为空的exception,因为null是一个对象,根本不是一个字符串。


3. Sting a=""; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以你可以对它操作,而不用担心什么

    注意:string.trim() 就不会出错


4. String a="b";  内存中初始化一个变量值b    ,然后用s指向它;





0 0