当前位置:  开发笔记 > 编程语言 > 正文

如果Java不支持运算符重载,则increment运算符如何在Integer实例上工作?

如何解决《如果Java不支持运算符重载,则increment运算符如何在Integer实例上工作?》经验,为你挑选了1个好方法。

我读到Java不支持运算符重载.然后它让我想知道如何在Integer类的实例上使用increment运算符.

Integer number = new Integer(10);
System.out.println(++number);

上面的代码编译正常,没有错误.但是,假设我创建了自己的类,只有一个成员变量(整数),并尝试使用increment运算符.它会给我一个编译器错误.为什么是这样?



1> Robby Cornel..:

这是在Integer对象上调用increment运算符时执行的操作序列:

    Integer包装器对象未打包到int基元(使用该intValue()方法).

    原始值递增.

    增量原语被自动装箱到Integer包装器对象.

因此,实际上,运算符实际上应用于int基元,而不是对象.此行为仅为原始包装类的对象定义,并且无法使您自己的类以类似的方式运行.

有关自动装箱和拆箱的详细信息,请参阅此处.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有