运算符在Java中重载混乱

san*_*uin 0 java operator-overloading

虽然我们都知道Java不支持运算符重载,但为什么+运算符是算术运算符以及String连接运算符.

任何人都能解释一下吗?

Mar*_*nik 7

Java不允许自定义运算符重载.几个运营商,不仅仅是规范+超载,这就是他们留下的方式.

自定义运算符重载的主要问题是它们的语义不透明和不可预测,导致在读取(甚至编写)代码时出现大量WTF时刻的可能性.

  • 想象一种语言,```是一个可重载的运算符---但是等等,不需要想象:) (2认同)