Why can't I set HashMap<CharSequence,CharSequence> to HashMap<String,String>
虽然String实现了字符序列,但Java不允许这样做。这个设计决策的原因是什么?
决策机制是不允许的,因为这不是类型安全的: </P >
1 2 3 4 5 6 7 | public class MyEvilCharSequence implements CharSequence { // Code here } HashMap<CharSequence, CharSequence> map = new HashMap<String, String>(); map.put(new MyEvilCharSequence(), new MyEvilCharSequence()); |
现在我已经试过站A
然而,如果你所说的: </P >
1 |
然后那厂,因为编译器会防止你从增非
1 2 | // Won't compile with the"? extends" map. map.put(new MyEvilCharSequence(), new MyEvilCharSequence()); |
在这里,看到更多的资料的方法是通用的通配符。 </P >
它应该是