猿问

如何访问 Java 中 Arraylist 中 Object[] 中的值

我有一个包含 Object[] 的列表,我想访问其中一个 Objects[] 的值。这是我的代码的样子:


private List<Object> trackList;

trackList = new ArrayList<>();


Integer random = (int)(Math.random() * ((100 - 0) + 1)) + 0;

Integer random2 = (int)(Math.random() * ((100 - 0) + 1)) + 0;

Object[] currTrack = new Object[]{random1, random2};

trackList.add(currTrack);


Integer value1 = trackList.get(0)[1];

获取:“预期的数组类型;找到:'java.lang.object'


我想我错过了一些非常简单的东西。帮助会很好,谢谢。


largeQ
浏览 143回答 2
2回答

守候你守候我

你这样声明你的列表:List<Object>&nbsp;trackList;所以当你这样做时:trackList.get(0)那会让你 anObject而不是Object[].你需要施放它:((Object[])trackList.get(0))[1]但是你有另一个问题,因为上面的表达式返回给你 anObject而你想将它分配给 an&nbsp;Integer。所以你需要另一个演员......完整的行应该是:Integer&nbsp;value1&nbsp;=&nbsp;(Integer)((Object[])trackList.get(0))[1];顺便说一句,只声明列表以包含您实际要放入其中的内容会更容易。

慕森王

在您的列表声明中,您设置该列表包含对象而不是对象[]:List<Object> trackList;所以当你这样做时:trackList.get(0)&nbsp;这让你得到一个 Object 而不是 Object[]您需要将 List 初始化更改为List<Object[]> trackList;
随时随地看视频慕课网APP

相关分类

Java
我要回答