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

String和new String有什么区别?

狄阳华
2023-03-14
问题内容

这两个语句之间有什么区别:

String a1 = new String("abc");

String a2 = "abc";

如果您能说明差异,那就太好了。


问题答案:

第一个是创建一个新的String对象。第二个是有效地使用已经存在的(它是在加载类文件时创建的)。实际上,从来没有理由使用String(String)构造函数

(我之所以这样说, 实际上是
因为有一种情况:如果要String通过调用substring()然后丢弃原始文件来分解大块,则可以使用此构造函数String从子字符串中创建new来节省内存。这确实是一个晦涩的情况,虽然。)



 类似资料:
  • 我应该如何在Java中声明方法? 这样地: 或者像这样: 字符串[]和字符串之间的区别是什么 如果有?

  • 我想将字符串转换为双精度数据类型。我不知道应该使用parseDouble还是valueOf。 这两种方法有什么区别?

  • 问题内容: 我应该如何用Java 声明方法? 像这样: 或像这样: 和如果有的话,实际上有什么区别? 问题答案: 我应该如何在Java中声明main()方法? 和在内部同样的事情,即,字符串的数组。区别在于,当您使用varargs参数()时,可以像下面这样调用方法: 并且当您将参数声明为String数组时, 必须以 这种方式调用: 和…(如果有)之间到底有什么区别? 约定是用作主要的方法参数,但也

  • 问题内容: 在Go语言中, 是一个字符串数组 并且我们也将其用作参数。 有什么区别? 功能定义: 我可以像下面这样调用此函数吗? 问题答案: 是一个字符串数组 从技术上讲,这是引用基础数组的切片 并且我们也将其用作参数。 有什么区别? 关于结构,真的没有。两种语法得出的数据类型相同。 该参数语法形成了可变参数的参数。它将接受零个或多个参数,并将它们作为切片引用。 关于调用,您可以使用以下语法将字符

  • 我们可以对String数组有两个声明 1. 2个 有人能告诉我区别吗