Создание глубокой копии коробочных примитивов - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь реализовать метод .clone() для объекта данных, который состоит из нескольких «коробочных» значений (Float и Boolean).Моя первая попытка была:

theClone.someNumber = someNumber; 

Но я подумал, что это просто копирование ссылок на объекты.Поэтому я попробовал:

theClone.someNumber = new Float( someNumber ); 

Android Studio это не понравилось, и сказал мне использовать;

theClone.someNumber = Float.valueOf( someNumber ); 

Итак, я сделал это, но теперь Android Studio кричит о "Боксе уже упакованного" someNumber "".Я сделал что-то не так?Я игнорирую предупреждение?Есть ли аннотация, которая будет подавлять это?А что не так с использованием конструктора?

1 Ответ

0 голосов
/ 14 октября 2018

, если речь идет о сохранении значений при возможности работы с «исходными значениями», существует несколько возможных вариантов.Одна возможность - просто записать «старые» значения в массив.

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);
}

Если это не соответствует вашим потребностям, мне нужно больше подробностей

...