java - 如何创建只有一个数组的对象数组列表?

标签 java collections

<分区>

我有以下代码片段,我不明白为什么它不起作用:

List<Object[]> listOfObjectArrays;
listOfObjectArrays = new ArrayList<>();
Object[] objectArray = new Object[] {1, "two", null};
listOfObjectArrays.add(objectArray);
// works just fine

listOfObjectArrays = Arrays.asList(objectArray, objectArray);
// works just fine

listOfObjectArrays = Arrays.asList(objectArray); // *
// compile error: Incompatible types. Required: List<java.lang.Object[]> Found: List<java.lang.Object>

listOfObjectArrays = Arrays.asList(new Object[] {1, "two", null});
// compile error: Incompatible types. Required: List<java.lang.Object[]> Found: List<java.lang.Object>

有人能给我指出正确的方向吗?

我已经看到了 Jon Skeet's answer在另一个问题上,但最后一个例子对我不起作用。即使我在标有 * 的行中向 ObjectObject[] 添加强制转换,我也会收到编译错误。

最佳答案

您始终可以通过显式指定类型参数来告诉 Java 您想要一个 Object[] 列表:

Object[] objectArray = { 1, "two", null };
List<Object[]> listOfObjectArrays = Arrays.<Object[]>asList(objectArray);

关于java - 如何创建只有一个数组的对象数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522263/

相关文章:

java - 我可以序列化 ArrayList 而不序列化其中包含的对象吗?

java - 这个异常是什么: Cipher buffering error in JCE provider JsafeJCE

java - 从另一个包加载类文件时出现问题

java - 通过WIFI从SQL服务器检索数据

java - 什么决定比较器/可比较集合类中的升序或降序?

java - 将原始集合转换为通用集合的现成解决方案

swift - 为什么 reloadData() 不起作用?

java - 如何使用java从列表中删除重复项和匹配的原始元素

java - eclipse 中是否有类似 netbeans 中 "view servlet"的 jsp 文件选项?

java - 程序在 Eclipse 中编译,但不在命令提示符中编译