【发布时间】:2014-05-20 02:57:54
【问题描述】:
-
当我写下面的代码时
int a = "Java";java 编译器显示以下错误:
无法从 String 转换为 int
所以常量
Java被认为是一个派生自String班级。-
""之间包含的每个字符列表是否都被视为从String类派生的对象? -
当我尝试连接两个字符串时,我使用了两个 以下示例:
String ch1 = "Java " ; String ch2 = "is cool"; String ch3 = ch1 + ch2;在我的编译类上使用命令
javap -c后,我发现 编译器使用StringBuilder的实例来附加 两个字符串。但在另一个例子中:
String ch = "Java " + "is cool";虽然“Java”和“很酷”这两个常量都是从
String派生的两个对象 类,编译器不使用StringBuilder的实例 附加两个字符串。-那么第二个例子中使用的方法是什么?
【问题讨论】:
-
我认为与字符串池有关的事情
-
我真正的问题是为什么java编译器不使用
StringBuilder和String ch = "Java " + "is cool";? -
这在我链接的问题中得到了回答。
标签: java string concatenation