我有一个返回List的方法。 (getListMethod)
是否存在功能差异?
ArrayList myList = (ArrayList) getListMethod();
和
ArrayList myList = new ArrayList(getListMethod());
答案 0 :(得分:9)
是的,有区别。
ArrayList myList = (ArrayList) getListMethod();
创建对同一ArrayList
的新引用,而
ArrayList myList = new ArrayList(getListMethod());
将旧列表的元素复制到新列表中。
我在这里假设您知道getListMethod()
确实返回ArrayList
,否则您可能会遇到第一个变体的其他问题。