![](/img/trans.png)
[英]How to Convert negative decimal to binary number and and use shift operators in Java
[英]How a Java compiler implements binary operators
与C ++不同,Java编译器不允许运算符重载。
但是,内置了重载运算符,例如用于添加数字或连接字符串的“ +”。
您可以在Java的最新版本中添加Integer类型的对象的原因是,编译器将执行与原始类型相关的对象的自动装箱和拆箱,例如Integer-> int,Boolean-> boolean等。
因此,当您编写“ a + b”时,编译器将看到变量的类型为Integer并将其取消装箱以自动键入int。 (对此进行了简化以使其易于理解。我不知道Oracle Java编译器是如何做到这一点的。)
请注意,如果这些Integer变量中的任何一个为null,则此方法可以并且将抛出NullPointerException,因为代码就像您所说的那样编译为a.intValue()+ b.intValue()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.