字符串类如何覆盖+运算符?为什么在Java中,当String是类时,您可以使用+操作符添加String?在String.java代码我没有为这个操作符找到任何实现。这个概念是否违反了目标导向?
3 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
+
对于字符串,它生成连接字符串的代码。 对于数字,它生成代码以添加数字。
这就是Java规范的意思:
算子+和 -
被称为加法算子。可加性表达:多重-表达
加法算子具有相同的优先级,并且在语法上是左结合的(它们从左到右分组). 如果 +
运算符是 String
,则操作为字符串连接。
否则,则为 +
运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。
在每种情况下,二进制的每个操作数的类型。 -
运算符必须是可转换为原始数字类型的类型(§5.1.8),否则会发生编译时错误。
慕少森
TA贡献2019条经验 获得超9个赞
Java语言提供了对字符串连接操作符(+)的特殊支持,该操作符已经为Java Strings对象重载。
如果左手边的操作数是字符串,则作为连接。 如果左侧操作数是整数,则它用作加法运算符。
添加回答
举报
0/150
提交
取消