java 返回包装在 collections.synchronizedlist 中的数组列表的克隆

标签 java list arraylist clone synchronized

我想知道如何在以下情况下生成数组的克隆:

private List<TestObject> testList = Collections.synchronizedList(new ArrayList<TestObject>());

...

public synchronized List<TestObject> getAllTestObjects(){
    return testList.clone();
    //I have tried casting to List<TestObject>
}

它在提示 List 未定义clone()。但我不确定如何最好地解决它?

任何帮助将不胜感激。

最佳答案

需要使用ArrayList提供的构造函数

public synchronized List<TestObject> getAllTestObjects(){
    return new ArrayList<TestObject>(testList);        
}

关于java 返回包装在 collections.synchronizedlist 中的数组列表的克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505504/

相关文章:

Java Order by 具有不同子对象类型的一对多关系

r - 将用户定义的函数应用于数据框列表

java - 使用java在同一程序中的升序和降序

java - 为什么需要 main 方法才能在类中使用 arraylist 方法?

java - 如何在JSP中迭代ArrayList

java.util.NoSuchElementException : Could not create a validated object, 原因:ValidateObject 失败

java - gzip:在java中膨胀 float 组

java - getExternalFilesDir() 是私有(private)的吗?

list - 使用 Python (Google Maps API) 从地理编码结果列表中提取纬度/经度

java - 从 arrayList 中将双括号删除为单括号