java - 如何在 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'
我想我错过了一些非常简单的东西。帮助会很好,谢谢。
解决方案
你这样声明你的列表:
List<Object> trackList;
所以当你这样做时:
trackList.get(0)
这会让你得到一个Object
而不是一个Object[]
.
你需要投射它:
((Object[])trackList.get(0))[1]
但是你有另一个问题,因为上面的表达式返回你 anObject
并且你想将它分配给 an Integer
。
所以你需要另一个演员..完整的行应该是:
Integer value1 = (Integer)((Object[])trackList.get(0))[1];
顺便说一句,只声明列表以包含您将实际放入其中的内容会更容易。
推荐阅读
- ms-access - 根据另一个表单上的组合框选择填充一个表单上的文本框
- vb.net - IIS 阻止我的请求。无法创建 SSL/TLS 安全通道
- android-studio - 为什么在调试模式下启动应用程序时,这款平板电脑的屏幕一直黑屏?
- c - K&R 使用 gdb 调试时,echo 程序的解释令人困惑。怎么了?
- javascript - Material-UI NativeSelect 预选选项不起作用
- java - 当 onscrollchangelistener 使用 webview 滚动时,应用程序在给定的 scrollY 上崩溃
- python-3.x - 将问题和名称变量添加到代码 - Python
- android - 地方建议未加载在地方自动完成
- asp.net-identity - 身份服务器无效的参考令牌错误
- ag-grid - 从 Ag-grid 9.1.0 中的特定页面开始