這個運算符在Java裡有一項特殊用途
連接不同的字串
這一點已在前面的例子中展示過了
盡管與+的傳統意義不符
但用+來做這件事情仍然是非常自然的
在C++裡
這一功能看起來非常不錯
所以引入了一項
運算符過載
機制
以便C++程序員為幾乎所有運算符增加特殊的含義
但非常不幸
與C++的另外一些限制結合
運算符過載成為一種非常復雜的特性
程序員在設計自己的類時必須對此有周到的考慮
與C++相比
盡管運算符過載在Java裡更易實現
但迄今為止仍然認為這一特性過於復雜
所以Java程序員不能象C++程序員那樣設計自己的過載運算符
我們注意到運用
String +
時一些有趣的現象
若表達式以一個String起頭
那麼後續所有運算對象都必須是字串
如下所示
int x =
y =
z =
;
String sString =
x
y
z
;
System
out
println(sString + x + y + z);
在這裡
Java編譯程序會將x
y和z轉換成它們的字串形式
而不是先把它們加到一起
然而
如果使用下述語句
System
out
println(x + sString);
那麼早期版本的Java就會提示出錯(以後的版本能將x轉換成一個字串)
因此
如果想通過
加號
連接字串(使用Java的早期版本)
請務必保證第一個元素是字串(或加上引號的一系列字符
編譯能將其識別成一個字串)
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19379.html