gpt4 book ai didi

java - Java 的一元加运算符的用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:42 25 4
gpt4 key购买 nike

Java 的一元加运算符似乎是通过 C++ 从 C 而来的。

int result = +1;   

它似乎具有以下效果:

  • 如果它的操作数是包装对象,则将其拆箱
  • 如果其操作数还不是 int 或更宽的值,则将其提升为 int
  • 使包含大量连续加号的邪恶表达式的解析稍微复杂化

在我看来,有更好/更清晰的方法来完成所有这些事情。

this SO question关于C#中对应的运算符,有人说“如果你觉得需要的话,它就可以重载”。

但是,在 Java 中,不能重载任何运算符。那么这个一元加运算符在 Java 中存在只是因为它在 C++ 中存在吗?

最佳答案

当操作数的类型为 bytecharshort 时,一元加运算符会自动转换为 int。这称为一元数字提升,它使您能够执行以下操作:

char c = 'c';
int i = +c;

当然,它的用途有限。但它确实有一个目的。请参阅规范,特别是 §15.15.3 部分 §5.6.1

关于java - Java 的一元加运算符的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com