【发布时间】:2015-10-15 19:15:21
【问题描述】:
我似乎无法理解为什么编译器告诉我不能从 Object 转换为 List 但它已经是一个 List。有人能指出我没有看到什么吗?
import java.util.List;
import java.util.ArrayList;
public class User {
private List<String> subscribed;
public User() {
this.subscribed = new ArrayList<String>();
}
public List<String> getSubscribed() {
return ((ArrayList<String>)subscribed).clone();
}
}
【问题讨论】:
-
你在投射什么?
subscribed还是clone()的返回值? -
Object.clone()被认为是损坏的,所以不要使用它。而是使用复制构造函数来创建新列表。更多信息在Clone() vs Copy constructor- which is recommended in java.
标签: java list object arraylist casting