黑马程序员技术交流社区

标题: 关于String的一道面试题 [打印本页]

作者: 唯我独赞mo    时间: 2015-11-11 21:42
标题: 关于String的一道面试题
问:String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?
           没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。

作者: guozhe0917    时间: 2015-11-12 16:50

作者: 刘旭波    时间: 2015-11-12 20:14
String 常量类型
作者: 唯我独赞mo    时间: 2015-11-12 20:21
刘旭波 发表于 2015-11-12 20:14
String 常量类型

面试的时候尽量回答的全一些,如果你说不全,面试官会问你还有吗。
作者: 1379号监听员    时间: 2015-11-12 23:14
学写了,么么哒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2