关于java中String初始化问题

爱喝君乐宝 2015-07-29 04:34:21
什么叫做 字符串初始化啊? String s和 String s=null的区别是不是前者没有初始化,后者进行了初始化?
...全文
1371 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongqinging 2015-09-05
  • 打赏
  • 举报
回复
引用 9 楼 jcrs523 的回复:
String s ;该语句表示只是声明了一个引用变量,但是并没有初始化引用,所以对变量s的任何操作(除了初始化赋值外) 都将引发异常. String s=null; 表示未申请任何内存资源,即些语句表示声明了一个引用变量并初始化引用,但是该引用没有指向任何对象.但可以把它作为参数传递或其它使用,但是不能调用它作为对象的方法 String s=""; 表示申请了内存资源,但资源空间值为空。该语句表示声明并引用到一个对象,只不过这个对象为0个字节.所以既然有了对象,就可以调用对象的方法 注意:"" 也是字符串 String s = String.Empty 与 String s=""; 是完全相同的
String s="" 初始化和String s = null ,初始化,具体使用时应该用哪一个好呢?因为都是空吗,都可以重新赋值,我怎么感觉 String s = null 初始化比较好呢?因为赋值时,不需要再创建额外的空间,只需把 s 指向要赋值的内容即可啦!
jcrs523 2015-07-30
  • 打赏
  • 举报
回复
String s ;该语句表示只是声明了一个引用变量,但是并没有初始化引用,所以对变量s的任何操作(除了初始化赋值外) 都将引发异常. String s=null; 表示未申请任何内存资源,即些语句表示声明了一个引用变量并初始化引用,但是该引用没有指向任何对象.但可以把它作为参数传递或其它使用,但是不能调用它作为对象的方法 String s=""; 表示申请了内存资源,但资源空间值为空。该语句表示声明并引用到一个对象,只不过这个对象为0个字节.所以既然有了对象,就可以调用对象的方法 注意:"" 也是字符串 String s = String.Empty 与 String s=""; 是完全相同的
zw0283 2015-07-30
  • 打赏
  • 举报
回复
前者是一个声明,后者进行了初始化,只声明的时候是不会分配内存空间的
ly_fhrl 2015-07-29
  • 打赏
  • 举报
回复
string s 是一个声明,并没有给变量分配空间,string s=null 表示s的指向空,有一个引用地址(大概)
finemi 2015-07-29
  • 打赏
  • 举报
回复
楼上的不要瞎说好不好,属性可以不显示初始化那是因为有隐式初始化,方法中不初始化编译不通过的前提是你后面有使用这个未初始化的变量
StoneHui_ 2015-07-29
  • 打赏
  • 举报
回复
引用 4 楼 crazypandariy 的回复:
[quote=引用 3 楼 u014165119 的回复:] String s这样的没有初始化的会默认初始化为null,跟String s = null效果一样。别听上面瞎扯
对象类型会自动初始化的前提是作为类的属性。如果是在方法中或者局部代码块中,必须进行初始化[/quote] 对的,方法中不初始化编译都通不过的。
疯狂熊猫人 2015-07-29
  • 打赏
  • 举报
回复
引用 3 楼 u014165119 的回复:
String s这样的没有初始化的会默认初始化为null,跟String s = null效果一样。别听上面瞎扯
对象类型会自动初始化的前提是作为类的属性。如果是在方法中或者局部代码块中,必须进行初始化
StoneHui_ 2015-07-29
  • 打赏
  • 举报
回复
String s这样的没有初始化的会默认初始化为null,跟String s = null效果一样。别听上面瞎扯
飏飏一蝶 2015-07-29
  • 打赏
  • 举报
回复
前者只是一个简单的声明 后者会为变量分配空间,其内的地址为空
M_tianxin 2015-07-29
  • 打赏
  • 举报
回复
是的,不仅仅是String类型,像其他的数据类型也是同样的、举个例子吧。String s ;和String s =null;后面需要使用s进行赋函数返回值,前者是没有进行初始化是会报错的。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧