What's wrong with the following assignment in Java Generics -
i starting java generics , next code not create sense me.
list<? extends number> lint = new arraylist<integer>(); // next throws error list<number> lint2 = lint; [extra details] i know list<interger> != list<number> what's utilize of '?' operator then? created arraylist of integers passed list can take lists containing doubles,floats or integers. why can't assign list. can of attributed strict type safety?
i using reference: http://docs.oracle.com/javase/tutorial/java/generics/upperbounded.html
the reason simple : lint arrayslist<integer> lint.add(10) right, lint.add(2.5) wrong.
but if java compiler accepted list<number> lint2 = lint;, lint2.add(2.5) should acceptable because 2.5 number , allow set double in list of integer.
hope more clear ...
java generics
No comments:
Post a Comment