代码示例:

public class E {
  public static void main(String[] args) {
    String strOne = 'bird';
    String strTwo = strOne;
    strOne = 'fly';
    System.out.println(strTwo); // 输出 'bird'
  }
}

解析:

在第 3 行,我们创建了一个字符串变量 strOne,并将它的值设置为 'bird'。

在第 4 行,我们将 strOne 赋值给 strTwo。 此时,strTwo 也指向 'bird',但它并没有复制 strOne 的内容。它们都指向同一个字符串对象。

在第 5 行,我们将 strOne 的值改为 'fly'。 这一操作改变了 strOne 指向的对象,但并没有影响 strTwo,因为 strTwo 仍然指向原来的 'bird' 对象。

因此,当我们输出 strTwo 的值时,得到的结果仍然是 'bird'。

结论:

在 Java 中,字符串赋值实际上是将引用赋值。 当你将一个字符串变量赋值给另一个变量时,实际上是将引用复制给了新变量,而不是复制字符串本身。因此,更改其中一个变量的值不会影响另一个变量的值。

Java 字符串赋值与引用详解:为什么 strTwo 仍然输出 'bird'?

原文地址: https://www.cveoy.top/t/topic/ntxD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录