Try this ..
List list = new ArrayList();
List <?> list2 = list; // This will not gives unchecked warning.
Basically:
1.raw to <?> and <?> to raw is fine
2a.raw to <? extends objects> warning.
2b.<? extends objects> to raw is fine since raw is the superclass.
3.<?> to <? extends objects> and <? extends objects> to <?> fine
i just don't understand 2a. If raw to <? extends Integer> gives unchecked warning .. i understand since that is not the highest upper bound.
Basically
SCJP by Khalid says that raw to BOUNDED or concrete parameterzied type will gives warning. I just dont understand why upper bounded extending objects are not made exception from this rule.