<分区>
Possible Duplicate:
Why does + work with Strings in Java?
以下语句在 Java 中有效。
int a=50;
String tmp="a = ";
String b=tmp+a;
b
类型的字符串现在包含 a = 50
(作为字符串)。
尽管 tmp
是 String 类型,a
是 int
类型,但还是进行了连接(即使 Java 不支持运算符重载)。
Java 不支持运算符重载的原因之一(与其他语言一样。事实上,我对任何语言都没有深入的了解)。
Java does not support operator overloading. Operator overloading is sometimes a source of ambiguity in C++ program, and the Java design team felt that it causes more trouble than benefit.
More关于它。
这个语句 String b=tmp+a;
是如何计算的?内部必须有一些等效的运算符重载概念。
只有一个问题:我们可以从字面上看到它是如何实现的,还是我们应该相信“这只是语言的一个特性”?
我听说 Java 编译器使用 StringBuilder/StringBuffer
(使用 append()
方法)来实现这一点,但我不确定。