课程
/后端开发
/Java
/Java入门第三季
String s; String s1=null; String s2=new String(); String s3=new String("");
比如说定义的这四个变量之间有什么不同?
2017-03-29
源自:Java入门第三季 2-2
正在回答
当声明为String s1时;
声明一个字符串对象,分配了一个内存空间,没有进行初始化,没有存入任何对象。
当声明为String s2 = null时;
声明一个字符串对象,分配了一个内存空间,进行初始化,存入了一个空对象,值为空。
当声明为String s3 = new String 时;
声明一个字符串对象,分配了一个内存空间,没有进行初始化,是在堆中创建一个字符串对象,
并把引用放在栈中指向他的首地址。
当声明为String s4 = new String("" ) 时;
声明一个字符串对象,分配了一个内存空间,初始化,存了一个字符串对象
是在堆中创建一个字符串对象,并把引用放在栈中指向他的首地址。
String s ;该语句表示只是声明了一个引用变量,但是并没有初始化引用,所以对变量s的任何操作(除了初始化赋值外) 都将引发异常. String s=null; 表示未申请任何内存资源,即些语句表示声明了一个引用变量并初始化引用,但是该引用没有指向任何对象.但可以把它作为参数传递或其它使用,但是不能调用它作为对象的方法
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答String str="慕课网"; 与String str2=new String("慕课网"); 两者之间有什么区别?
2 回答string和stringBuilder有什么区别
3 回答String和StringBuilder的区别
2 回答string类型问题
2 回答String类型到int类型的转换
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号