Domanda

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

Is there functional difference between?

ArrayList myList = (ArrayList) getListMethod();

and

ArrayList myList = new ArrayList(getListMethod());
È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top