This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
//1 # NO PROBLEM- A typed collection of type object is declared. //2 # NO PROBLEM- A untyped collection is declared. //3 # PROBLEM- A typed reference is being forced to refer to a collection which is not typed and can take any element... so warning for refering a possible currupted collection. //4 # NO PROBLEM-element of type Object is added in collection of type Object. //5 # NO PROBLEM-no collection modification. //6 # NO PROBLEM-no collection modification. //7 # NO PROBLEM - Unsafe collection can refer any type of collection. //8 # PROBLEM-There is always a warning when we use a non-typed collection to add a element. //9 # NO PROBLEM-no collection modification. //10 # NO PROBLEM-no collection modification.
more about line 4: an object is added to an <Object> list. Adding to a parameterized collection never produces a warning. Either it compiles (type OK) or not (type not OK).
Only reference type counts: The variable is generic, it doesn't matter that the object (the ArrayList) is non-generic. You can safely put objects in "typeSafe". We have been already warned (that the ArrayList "typeSafe" refers to is non-generic) in line three.
all events occur in real time
Joined: Nov 10, 2006
Warning on unchecked conversion,
- when generic collection varaible is referred to non-generic collection instance
- when non-generic collection varaible is used to invoke generic parameterized method