制作盒装基元的深层副本

时间:2018-10-13 20:24:59

标签: java android boxing cloning

我正在尝试为由多个“装箱”值(.clone()Float)组成的数据对象实现Boolean方法。我的第一次尝试是:

theClone.someNumber = someNumber; 

但是我认为这只是复制对象引用。所以我尝试了:

theClone.someNumber = new Float( someNumber ); 

Android Studio不喜欢那样,并告诉我使用;

theClone.someNumber = Float.valueOf( someNumber ); 

所以我这样做了,但是现在Android Studio着迷于“装箱的'someNumber'装箱”。我做错什么了吗?我会忽略警告吗?有注释可以抑制它吗?使用构造函数有什么问题?

1 个答案:

答案 0 :(得分:0)

如果这是关于在存储值的同时能够使用“原始值”,则有几种可能。 一种可能性是简单地将“旧”值写入数组。

public static void main(String[] args)
{

   int value = 10;
   ArrayList<Integer> myList = new ArrayList<Integer>();

   myList.add(value);

   value = 15;

   System.out.println("Old value was: " + myList.get(0));
   System.out.println("But new value is: " + value);
}

如果这不适合您的需求,我需要更多详细信息