gpt4 book ai didi

java - Java 中由 new String() 和 new String (""进行的字符串初始化有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 20:40:33 24 4
gpt4 key购买 nike

Java中以下两种初始化有什么区别?

  1. String a = new String();
  2. String b = new String("");

最佳答案

嗯,它们几乎一样

public static void main(String[] args) {
String s1 = new String();
String s2 = new String("");
System.out.println(s1.equals(s2)); // returns true.
}

细微差别(相当微不足道):

  1. new String(); 的执行时间比 new String(""); 少,因为复制构造函数做了很多事情。

  2. new String("") 如果空字符串 ("") 尚不存在,则将其添加到字符串常量池中。

除此之外,没有其他区别

注意:new String("abc") 的使用几乎总是不好的,因为您将创建 2 个字符串,一个在字符串常量池上,另一个在堆上具有相同的值。

关于java - Java 中由 new String() 和 new String (""进行的字符串初始化有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com