标签: java operator-overloading
虽然我们都知道Java不支持运算符重载,但为什么+运算符是算术运算符以及String连接运算符。
+
String
有人可以解释一下吗?
答案 0 :(得分:7)
Java不允许自定义运算符重载。几个运算符(不只是+)按规范重载,这就是它们的存在方式。
自定义运算符重载的主要问题是它们语义的不透明性和不可预测性,导致在读取(甚至编写)代码时出现大量WTF时刻的可能性。
答案 1 :(得分:0)
当我们对字符串使用+时,编译器实际上将它们转换为使用StringBuilder。
StringBuilder