1. 程式人生 > >Java的String類要受一種名為“運算子過載”的機制的制約

Java的String類要受一種名為“運算子過載”的機制的制約

Java的String類要受一種名為“運算子過載”的機制的制約。也就是說,只有在隨同String物件使用時,加號才會產生
與其他任何地方不同的表現。對於字串,它的意思是“連線這兩個字串”。
但事情到此並未結束。請觀察下述語句:

 

System.out.println("Total Memory = "
+ rt.totalMemory()
+ " Free Memory = "
+ rt.freeMemory());

其中,totalMemory()和freeMemory()返回的是數值,並非String物件。如果將一個數值“加”到一
個字串身上,會發生什麼情況呢?同我們一樣,編譯器也會意識到這個問題,並魔術般地調
用一個方法,將那個數值(int,float等等)轉換成字串。經這樣處理後,它們當然能利用加
號“加”到一起。這種“自動型別轉換”亦劃入“運算子過載”處理的範疇。