【问题标题】:Android: Incrementing an integer causes an allocationAndroid:增加整数会导致分配
【发布时间】:2013-05-24 06:37:42
【问题描述】:

以下行出现在 eclipse 的分配窗格中:

Alloc Order       Allocation Size           Allocated Class
509               12                        java.lang.Integer

它引用了这行java代码:

MyInteger++;

我稍微改变了一下,但它仍然会导致分配。

MyInteger=MyInteger+1;
MyInteger=MyInteger+MyIntegerIncrementor;

为什么这些代码行会导致分配?

【问题讨论】:

  • 什么类型的 MyInteger?它应该是 int 而不是 Integer
  • 就这个问题而言,它是 Integer,使用 int 还是 Integer 更好取决于您的问题的上下文。一般来说,你是对的,应该使用 int。

标签: java android


【解决方案1】:

由于Integerimmutable,因此每次递增它时都会创建一个新对象,从而进行分配。

【讨论】:

猜你喜欢
  • 2023-03-03
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多