Я хочу сделать поверхностную копию списка, возвращаемого вызовом метода (это общедоступный список getScanResults () из Android, см. http://developer.android.com/reference/android/net/wifi/WifiManager.html#getScanResults%28%29). Проблема в том, что clone () не определен в списке интерфейс, но только для конкретных классов, таких как ArrayList - однако я не знаю, что getScanResults () использует для внутреннего использования, поэтому я не могу просто привести его или я ошибаюсь по этому поводу? Затем я подумал о чем-то вроде
anExistingList.add (getScanResults ());
но getScanResults (), кажется, возвращает ноль вместо пустого списка, если нечего возвращать, так что это тоже не вариант.
Когда я бы сделал что-то вроде
if(getScanResults() != null)
anExistingList.add(getScanResults());
возвращаемое значение getScanResults () может измениться между первой строкой кода и второй, поэтому оно может сначала пройти условие «не равно нулю», а затем быть нулевым во второй строке, или я ошибаюсь по этому поводу?
Итак, как мне сделать поверхностную копию возвращаемого значения getScanResults () или просто сформулировать мою цель: получить значение из getScanResults () и убедиться, что оно не меняется, пока я с ним работаю?
Спасибо за любую подсказку :-)
(Наверное, я что-то не так понимаю)