Java的一元加运算符似乎是从C语言通过C++传承而来的。
int result = +1;
它似乎具有以下效果:
- 如果操作数是包装器对象,则取消其封箱
- 将其操作数提升为
int
,如果它还不是int
或更广的类型 - 稍微复杂化了包含大量连续加号的恶意表达式的解析
在我看来,有更好/更清晰的方法来完成所有这些事情。
在这个SO问题中,涉及到C#中对应的运算符时,有人说:“如果您觉得需要,可以重载它。”
然而,在Java中,不能重载任何运算符。那么,这个一元正运算符在Java中存在,只是因为它在C ++中存在吗?