這個(gè)運(yùn)算符在java里有一項(xiàng)非凡用途:連接不同的字串。這一點(diǎn)已在前面的例子中展示過了。盡管與+的傳統(tǒng)意義不符,但用+來做這件事情仍然是非常自然的。在C++里,這一功能看起來非常不錯(cuò),所以引入了一項(xiàng)“運(yùn)算符過載”機(jī)制,以便C++程序員為幾乎所有運(yùn)算符增加非凡的含義。但非常不幸,與C++的另外一些限制結(jié)合,運(yùn)算符過載成為一種非常復(fù)雜的特性,程序員在設(shè)計(jì)自己的類時(shí)必須對此有周到的考慮。與C++相比,盡管運(yùn)算符過載在Java里更易實(shí)現(xiàn),但迄今為止仍然認(rèn)為這一特性過于復(fù)雜。所以Java程序員不能象C++程序員那樣設(shè)計(jì)自己的過載運(yùn)算符。 我們注重到運(yùn)用“String +”時(shí)一些有趣的現(xiàn)象。若表達(dá)式以一個(gè)String起頭,那么后續(xù)所有運(yùn)算對象都必須是字串。如下所示: int x = 0, y = 1, z = 2; String sString = "x, y, z "; System.out.PRintln(sString + x + y + z); 在這里,Java編譯程序會(huì)將x,y和z轉(zhuǎn)換成它們的字串形式,而不是先把它們加到一起。然而,假如使用下述語句: System.out.println(x + sString); 那么早期版本的Java就會(huì)提示出錯(cuò)(以后的版本能將x轉(zhuǎn)換成一個(gè)字串)。因此,假如想通過“加號”連接字串(使用Java的早期版本),請務(wù)必保證第一個(gè)元素是字串(或加上引號的一系列字符,編譯能將其識(shí)別成一個(gè)字串)。