虽然我们都知道Java不支持运算符重载,但是为什么+
运算符是算术运算符,而String
连接运算符又是算术运算符。
谁能解释一下吗?
最佳答案
Java 不允许自定义运算符重载。有几个运算符(不仅仅是 +
)按照规范进行了重载,这就是它们的现状。
自定义运算符重载的主要问题是其语义的不透明性和不可预测性,导致在阅读(甚至编写)代码时可能会出现大量 WTF 时刻。
关于java - Java中运算符重载的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837543/