java的字符串运算符“+”
这个运算符在Java里有一项非凡用途:毗连差异的字串。这一点已在前面的例子中展示过了。尽量与+的传统意义不符,但用+来做这件工作仍然长短常自然的。在C++里,这一成果看起来很是不错,所以引入了一项“运算符过载”机制,以便C++措施员为险些所有运算符增加非凡的寄义。但很是不幸,与C++的别的一些限制团结,运算符过载成为一种很是巨大的特性,措施员在设计本身的类时必需对此有周到的思量。与C++对比,尽量运算符过载在Java里更易实现,但迄今为止仍然认为这一特性过于巨大。所以Java措施员不能象C++措施员那样设计本身的过载运算符。
我们留意到运用“String +”时一些有趣的现象。若表达式以一个String起头,那么后续所有运算工具都必需是字串。如下所示:
int x = 0, y = 1, z = 2;
String sString = "x, y, z ";
System.out.println(sString + x + y + z);
在这里,Java编译措施会将x,y和z转换成它们的字串形式,而不是先把它们加到一起。然而,假如利用下述语句:
System.out.println(x + sString);
那么早期版本的Java就会提示堕落(今后的版本能将x转换成一个字串)。因此,假如想通过“加号”毗连字串(利用Java的早期版本),请务必担保第一个元素是字串(或加上引号的一系列字符,编译能将其识别成一个字串)。