문제

I have a method that returns a List. (getListMethod)

Is there functional difference between?

ArrayList myList = (ArrayList) getListMethod();

and

ArrayList myList = new ArrayList(getListMethod());
도움이 되었습니까?

해결책

Yes, there is a difference.

ArrayList myList = (ArrayList) getListMethod();  

creates a new reference to the same ArrayList, while

ArrayList myList = new ArrayList(getListMethod());  

copies the elements of the old list to a new one.

I am assuming here that you know that getListMethod() really returns an ArrayList, otherwise you might run into other problems with the first variant as well.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top