[英]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.