当前位置: 代码迷 >> J2SE >> String定义有关问题
  详细解决方案

String定义有关问题

热度:64   发布时间:2016-04-24 12:33:53.0
String定义问题
在只有主函数的前提下,下面三种定义有什么区别...
1. String s;
2. String s = new String();
3. String s = null;
直接用system输出的话 第一种有错误,第二种什么都不显示,第三种是输出null
为什么呢。。。高手求解

------解决方案--------------------
第一个没有赋初值还未分配内存空间
第二种用new对象方法实例化s 已经获得了内存空间并被自动赋上空值
第三种被赋值null它有了内存空间并存储了值null
------解决方案--------------------
第一种s只是声明一个String的对象引用,但是没有初始化和分配内存,实际上跟第三种一样
第二种声明并且初始化了一个String对象的引用,引用的字符串内容为空,所以什么都不显示

之所以第一种和第三种输出不一样,可能是把声明为null的字符串就输出为null吧
  相关解决方案