当前位置: 首页 > 知识库问答 >
问题:

java中的字符串差异[重复]

越勇
2023-03-14
  public class Test {

       public static void main(String [] args) {

            String s = "abc";
            s.toUpperCase(); // new String is created here.
            System.out.println(s);// prints abc instead of ABC
    }
}

共有1个答案

陈欣荣
2023-03-14

为什么String类在Java中是不可变的,因为每次我们调用String引用变量的某些方法时,都会创建新的String?

不,不是因为创建新字符串。倒着走。为什么每次你都得到一个新的字符串

字符串由字符数组支持,字符数组是String类中的最后一个。因此,一旦您创建了一个字符串,字符数组就不会在字符串对象创建之后改变。这才是背后的实际原因。

 类似资料:
  • 以下是Java中的代码: 输出:输入字符串:夫人 J=女士 错误的 为什么此代码的输出为false?

  • 问题内容: 我现在很无聊,正在做一些Java实践测试,因为我已经用Java编程了一段时间了。经过一个问题,我现在想知道以下两者之间的区别: 在Java IDE中键入此命令时,没有出现任何错误。我还没有尝试编译它们中的任何一个(尽管我过去主要使用自己,所以我知道其中一个可以奏效)。 那么,它们每个都可以编译吗? 如果是的话,有什么区别(如果有)? (对于性能而言,比不进行新的实例化还是要在幕后完成此

  • Mocha支持断言库中任何抛出的s err.expected和err.actual属性AssertionError。mocha将尝试显示预期内容与断言实际看到的内容之间的差异。这是一个“字符串”差异的例子:

  • 我有以下值:2018-01-16-18.56.57.300000 它被传递给方法参数:“value”。 我得到了一个Timestamp对象,其值为2018-01-16 19:01:57.0,与原始字符串值相比多了大约5分钟。 为什么会出现这种情况,我如何纠正我的转换?

  • 在这一环节中,称: s1指向字符串池的位置,s2指向堆内存的位置。