课程
/后端开发
/Java
/Java入门第三季
String str1 = "imooc"; //存到字符串池
String str2 = new String("imooc"); //存到堆内存
2015-01-11
源自:Java入门第三季 2-2
正在回答
老是说的是对的 。 直接定义放在字符串池。 new string ("") 需要先放到堆内存中。其实是一个指向的过程。
String str1 = "imooc"; String str2 = "imooc"; String str3 = new String("imooc"); String str4 = new String("imooc"); str3 和 str2 不相等 ,和 str4也不想等。 但是 str1=str2 因为他们指向同一个串池中同一个“imooc”
那你可以问问你们老师,字符串池又存在哪里,你看看他怎么说?
这里可以告诉你,定义的字符串都会存放在堆内存中的
Rily 提问者
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答字符串,字符串
2 回答字符串啊啊
3 回答堆内存中的内容是是创建的。 我们怎么决定用new创建新字符串 还是创建字符串的引用。 根据什么区分使用哪种。
1 回答字符串转换为字符型
2 回答字符与字符串的区别