我只是对一个 java 编译场景感到困惑,它对给定的问题表现得很奇怪。
下面的代码将给出编译错误(不能转换类型),因为 A 和 B 是不同的类,它们之间没有关系。
A a = new A();
B b = new B();
B b1 = (B)a;
A a1 = (A)b;
同样,如果我将 List 和 Map 相互转换,它应该给我编译错误。但它没有给出任何这样的错误,当然我在运行时得到 ClassCastException。
List<String> listObj = new ArrayList<String>();
Map<Integer,Float> mapObj = new HashMap<Integer,Float>();
Map newMapObj = (Map) listObj;
List newListObj = (List) mapObj;
这次调整的原因是什么...