繁体   English   中英

如何在Java中访问数组列表中Object []中的值

[英]How can I access a value in an Object[] in an Arraylist in Java

我有一个带有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'

我想我缺少一些非常简单的东西。 谢谢您的帮助。

您这样声明清单:

List<Object> trackList;

因此,当您这样做时:

trackList.get(0)

那会给你一个Object而不是一个Object[]

您需要强制转换:

((Object[])trackList.get(0))[1]

但是然后您遇到另一个问题,导致上面的表达式返回一个Object并且您想将其分配给Integer

因此,您需要另一个演员..完整的行应该是:

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

顺便说一句,只声明列表包含要实际放入的内容会更容易。

在列表声明中,设置列表包含对象而不是对象[]:

List<Object> trackList;

因此,当您这样做时:

trackList.get(0)得到一个对象而不是一个对象[]

您需要将列表初始化更改为

List<Object[]> trackList;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM