0
我想擺脫clone()方法。如何在java中創建一個只讀數組?
對於以下類聲納(靜態代碼檢查工具)中的溶液抱怨 我不應該直接暴露對象的內部陣列爲一體的可改變方法調用從而改變該對象的狀態後的數組。它建議在返回之前執行該數組的clone(),以便不更改對象的狀態。
下面是我的課...
class DevicePlatformAggregator implements IPlatformListings{
private DevicePlatform[] platforms = null;
public DevicePlatform[] getAllPlatforms() throws DevicePlatformNotFoundException {
if (null != platforms) {
return platforms.clone();
}
List<DevicePlatform> platformlist = new ArrayList<DevicePlatform>();
..... // code that populates platformlist
platforms = platformlist.toArray(new DevicePlatform[platformlist.size()]);
return platforms;
}
}
不過,我不認爲其良好的克隆及其不必要的重複數據。
沒有什麼類似於Collections.unmodifiableList(),關於陣列
- 我不能改變該方法getAllPlatforms的返回類型()到一些
收集,因爲它是一個接口方法