java - 表达式的类型必须是数组类型,但它解析为对象

标签 java arraylist

我不断收到此错误,但我不知道如何解决它,我有一个对象数组的 ArrayList,我可以存储元素,但我不确定如何获取元素退出,这里有什么明显错误的地方吗?

ArrayList<Object[]> pA = processArray(statii);
        for(Object pAs: pA){
            Toast.makeText(TweetstagramActivity.this, pAs[0], //error occurs here
                    Toast.LENGTH_LONG).show();

最佳答案

这就是问题:

for(Object pAs: pA) {

你想要:

 for (Object[] pAs : pA) {

第一个是合法,因为任何Object[]引用也是有效的Object引用 - 但你不能使用pAs[0] 正如您在循环中尝试的那样。

(顺便说一句,我还鼓励您使用更具描述性的变量名称。)

关于java - 表达式的类型必须是数组类型,但它解析为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640161/

相关文章:

javascript - JavaScript 中的变量给出相同的值

java - 为什么在 java.util.ArrayList 中不允许原始数据类型?

java - 比较一个数组列表中的差异对象

java - 如何在特定的 Java 版本上运行应用程序?

java - Java 中发生冲突时迭代 hashmap

java - 使用java将arraylist值插入sql server数据库

java - 尽管预期和实际相似,但 junit 中的 ArrayList 相等不起作用

java - 为什么 ObjectOutputStream.writeObject 不采用 Serializable?

c# - 了解 C# 和 Java 上传统迭代和增强迭代的实现

java - Eclipse 内容支持不适用于 Groovy 文件中的 Java 对象