允许java将整数分配给对象,但不允许将整数数组分配给对象数组?
我正在阅读如何将子类对象分配给父类容器。下面列出了3种情况。用于集合、数组和普通对象。我对这三种情况感到困惑,即如何&;为什么这三种语言在Java中的处理方式不同。下面的场景有简单的解释吗?它们似乎是非常基本的java概念,不知道为什么让我困惑
这会导致编译时错误
List<Object> objectList = new ArrayList<Integer>();//compile time error
但是,这是允许的
Object object = new Integer(9); object = 1.2;// no run time error
但这不是吗?(虽然从技术上讲,编译器允许,但我们得到了一个运行时错误)
Object objectArr[] = new Integer[1]; objectArr[0] = 1.2;// run time error (Exception in thread "main" java.lang.ArrayStoreException: java.lang.Double)
共 (0) 个答案