java - 为什么 Java 会为引用类型(例如 Integer)创建一个新对象?
问题描述
也许是一个愚蠢的问题,但我看不到答案。假设我们有这个简单的例子:
Integer a = 10;
a+=4;
根据我在幕后阅读和尝试的内容,正在发生这样的事情:
Integer a = 10;
a = new Integer (a+4);
- 为什么 Java 需要创建一个新实例,然后用一个新实例覆盖之前的引用值?
- Integer(和其他引用类型变量(Byte、Character))是否遵循与String相同的原则?
- 如果您想更改变量的值并且希望保留当前引用并仅更新该值并且您得到的是一个全新的对象,这难道不是一个性能问题吗?
- 反映下面的图像(大线)反映发生了什么?
解决方案
推荐阅读
- python - 如何以最佳方式替换数据框
- arrays - Swift如何过滤2个数组
- multithreading - 在不使用 OMP TASK 的情况下如何做到这一点?
- vue.js - 当我尝试使用组件中的方法更改数据时,为什么我的 vuex 存储状态更改?
- python - Django 文件上传器在使用 celery 上传更多感谢 2.5mb 图像时抛出错误“无法腌制 '_io.BufferedRandom' 对象”
- flutter - 如何使用下拉功能创建 ListView listTile
- html - 自动换行时去掉右边的空白区域
- java - AES/CBC/PKCS5PADDING IV - NodeJs 中的加密(用 Java 加密)
- google-apps-script - 应用脚本 body.appendTable 和 Paragraph.setIndentStart
- flutter - 听听 Flutter 中的 bloc 示例