2.如下代码哪里错了?为什么?(java) public static void f() { String[] a = new String[2]; Object[] b = a; a[0] = "hi"; b[1] = Integer.valueOf(42); }
时间: 2023-03-27 08:00:15 浏览: 215
实例分析Java中public static void main(String args[])是什么意思
这段代码存在错误,错误在于将 String 数组 a 赋值给了 Object 数组 b,然后在 b 数组中插入了一个 Integer 类型的值,这会导致类型不匹配的错误。具体来说,a 数组只能存储 String 类型的值,而 b 数组可以存储任意类型的对象,因此在 b 数组中插入一个 Integer 类型的值会导致类型转换错误。正确的做法是将 b 数组声明为 Object 类型的数组,而不是 String 类型的数组。
阅读全文