当前位置: 首页 > 面试题库 >

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

谭奕
2023-03-14
问题内容

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

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>

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

我已经看到JonSkeet在另一个问题上的回答,但是那里的最后一个示例对我来说不起作用。即使我将强制类型转换添加到标记为的行ObjectObject[]行中,也会*出现编译错误。


问题答案:

您始终可以Object[]通过明确指定type参数来告诉Java您想要列表:

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


 类似资料:
  • 问题内容: 我如何用对象填充ArrayList,而内部的每个对象都不相同? 问题答案:

  • 我有一个从列表中选择项目的代码,我有一个扫描器来扫描文件(每行有电影,然后是演员),并将电影添加到数组中。我该怎么做才能让它添加到arraylist中的每一部电影都能在线存储紧随其后的演员?例如:每行有一行是电影名(日期)/LastName、FirstName/Lastname2、Firstname2/等等。我的代码包含一个类电影,它将电影名称转换为字符串。我怎么能在任何给定点搜索任何电影,并让它

  • 问题内容: 我想要创建一个arraylist数组,如下所示: 但是它没有编译。我怎样才能做到这一点? 问题答案: 根据Oracle文档: “你不能创建参数化类型的数组” 相反,你可以执行以下操作: 正如汤姆·霍廷(Tom Hawting)的建议-定位线一样,最好这样做:

  • 问题内容: 我想创建一个numpy数组,其中每个元素必须是一个列表,因此以后我可以向每个元素追加新元素。 我已经看过谷歌,这里已经有堆栈溢出,但是似乎找不到地方。 主要问题是numpy假定您的列表必须成为数组,但这不是我要的。 问题答案: 如您所见,在给出类似以下内容时,尝试创建2d数组 您已应用了一些技巧来解决此默认行为。 一种是使子列表的长度可变。它不能从这些数组中生成2d数组,因此它求助于对

  • 问题内容: 我们如何用Swift语言(例如&在Objective-C中)创建唯一的对象列表。 问题答案: 从Swift 1.2(Xcode 6.3 beta)开始,Swift具有本机集合类型。从发行说明中: 包括一个新的数据结构,该结构提供具有完整值语义的独特元素的通用集合。它与之桥接,提供与和类似的功能。 以下是一些简单的用法示例: 但是还有更多可用的方法。 更新: 现在,集合也记录在Swift

  • 问题 你有一组对象,例如: cats = [ { name: "Bubbles" age: 1 }, { name: "Sparkle" favoriteFood: "tuna" } ] 但是你想让它像词典一样,可以通过关键字访问它,就像使用 cats["Bubbles"]。 解决方案 你需要将你的数组转换为一个对象。通过这样使用 reduce: #