为什么Java有两种生成字符串对象的方法?
我看到java有两种方法来创建字符串对象,一种是使用构造函数,另一种是仅使用文本值。我理解两者之间的区别,但是为什么有两种不同的方法来创建字符串对象。否则您会怎么做?假设我们必须写作为什么Java有两种生成字符串对象的方法?,java,Java,我看到java有两种方法来创建字符串对象,一种是使用构造函数,另一种是仅使用文本值。我理解两者之间的区别,但是为什么有两种不同的方法来创建字符串对象。否则您会怎么做?假设我们必须写作 String s = new String("hello world"); 如何获取作为字符串构造函数参数的字符串对象 责任必须停在某个地方 我想,你可以说“…”不是一个字符串对象,而是一个完全不同的东西,而这个完全不同的东西只能在字符串构造函数中使用,但除了带来不便之外,它给你带来了什么
String s = new String("hello world");
如何获取作为字符串构造函数参数的字符串对象
责任必须停在某个地方
我想,你可以说“…”不是一个字符串对象,而是一个完全不同的东西,而这个完全不同的东西只能在字符串构造函数中使用,但除了带来不便之外,它给你带来了什么呢
当然,如果“…”不是一个字符串,那么如果存在myFunc(String s)
,就不可能调用myFunc(“fubar”)
,除非我们还有一个规则自动将“…”提升为字符串
如果我们有这个规则,那么我们也可以编写String s=“hello world”
为什么Java有两种生成字符串对象的方法
因为它们有不同的用途
- 文字允许您轻松简洁地创建一个包含固定内容的
字符串
构造函数允许您创建内容可变的String
;e、 g.从文件中读取的字符String
System.out.println(new String(new char[]{'H', 'e', 'l', 'l', 'o'}));
一直都是吗
(对于字符串的某些定义,甚至汇编语言也支持“字符串”文字。将常量文本数据表示为字节或字符文字数组将是可读性的主要障碍,即使在汇编代码的上下文中也是如此……在最好的情况下,这是很难读取的。)
1-在编译时修复。正如您所知,String有十几个构造函数,您还可以从任意数量的其他非String对象生成String对象,因此创建String对象的方法有两种以上。