当前位置: 首页 > 面试题库 >

不是说字符串是不可变的吗?string s="abc";s="123"不就是变了吗?

爱亮
2023-03-14
本文向大家介绍不是说字符串是不可变的吗?string s="abc";s="123"不就是变了吗?相关面试题,主要包含被问及不是说字符串是不可变的吗?string s="abc";s="123"不就是变了吗?时的应答技巧和注意事项,需要的朋友参考一下

String是不可变的在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们将s指向"123",那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"123",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。

 类似资料:
  • 我们都知道在Java中是不可变的,但是检查下面的代码: 为什么这个程序会这样操作?为什么和的值被更改了,而却没有被更改?

  • 问题内容: 在 “ Swift编程语言” 的“字符串”部分的“字符串 可变性” 小节中,它表示: 您可以通过将某个变量分配给变量(在这种情况下可以修改)或常量(在这种情况下不能修改)来指示是否可以修改(或 变异 ): 并给出示例代码: 这本书中的iBooks 这里,或在Web浏览器在这里。 在下一段中,它声称“字符串是值类型”。 我的问题:对我来说,这看起来像个可变的字符串。看起来就像我在Java

  • 为什么Java字符串被认为是不可变的?我可以说之后将name值更改为

  • 如果我的API提供了一个流,客户端是否有办法修改基础集合? 例如: 客户端是否可以调用并以某种方式修改的内容?

  • 问题内容: 我们都知道这String在Java 中是不可变的,但是请检查以下代码: 为什么该程序会这样运行?为何值和改变了,但没有改变? 问题答案: 是不可变的*,但这仅意味着你无法使用其公共API对其进行更改。 你在这里所做的是使用反射来绕过常规API。同样,你可以更改枚举的值,更改整数自动装箱中使用的查找表等。 现在,原因s1和s2变化值是它们都引用相同的实习字符串。编译器执行此操作(如其他答

  • Java字符串是Java中特殊的 Java中字符串的不可变性 > 不变性:现在,根据不变性,String类已经被设计成可以在其他地方/变量中重用公共池中的值。如果创建为 但是,如果我创建类似 这些上面已经有帖子了吗?如果是,有人可以分享链接吗?