Java 变量无法解析或不是字段

标签 java arraylist

我在我的一个 Java 类中的一个变量上收到“无法解析或不是字段”错误,我不明白为什么......我已经在线查看,但不能'找不到任何能真正解释我为什么得到它的东西。错误发生在以下 for 循环中:

int i;
getFilterConditions();
for(i = 0; i < sitesToBeFiltered.size(); i++){
    if(sitesToBeFiltered.get(i) == filter1Value){
        Gui.displayFilteredOutput.append("\n");
    Gui.displayFilteredOutput.append("EID: [" + sitesToBeFiltered.get(i) + ", " + applicationsToBeFiltered.get(i) + ", " + IDsToBeFiltered.get(i) + "]. ");
    Vector3Double filteredEntityPosition = 
    Gui.displayFilteredOutput.append("Location in DIS coordinates: [" + sitesToBeFiltered.get(i).positionsToBeFilteredX.get(i));
    }
}

它是在 for 循环末尾的 positionsToBeFilteredX.get(i) 变量上生成的。我已使用以下行将该变量定义为类顶部的全局变量:

public static ArrayList<Double> positionsToBeFilteredX = new ArrayList<Double>();

解释一下我想在这里做什么:

我有一个程序正在读取通过网络发送/接收的 PDU,并将 PDU 本身和每个 PDU 所持有的信息存储在多个 ArrayList 中。我想用这段代码做的是获取用户在表单上输入的值(存储在 filter1Value 整数变量中),并检查该值是否等于特定 ArrayList 中的元素 (sitesToBeFiltered)。

因此,我循环遍历 sitesToBeFiltered ArrayList,并检查每个元素以查看它是否完全等于 filter1Value 的值。如果是,然后我将一些关于匹配的 ArrayList 元素的文本附加到 JTextArea (displayFilteredOutput)。

我想添加到 JTextArea 的其中一件事是匹配元素的 X 位置(当发现该元素与用户的搜索条件匹配时,它被添加到 positionsToBeFilteredX 中。

所以我在最后一行代码中尝试做的是将 sitesToBeFiltered ArrayList 中匹配元素的 X 坐标(存储在 X 坐标数组中)附加到displayFilteredOutput JTextArea,但出于某种原因,我在变量上遇到“无法解析,或者不是字段”编译错误。

谁能给我解释一下这是为什么?我怀疑我没有正确引用与过滤器值匹配的元素的 X 坐标,但我不确定我应该怎么做...有人能指出我正确的方向吗?

最佳答案

您编写的代码好像 positionsToBeFilteredsitesToBeFiltered.get(i) 返回的对象中的一个字段。显然不是。

关于Java 变量无法解析或不是字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515824/

相关文章:

java - JDBC 连接类型

java - 用于父/子关系和 DAO/DTO 模式的 Hibernate GenericDAO

java - 向 Map 添加值时类型不兼容

java - 错误 : The method add(java. lang.String) 未定义类型 java.lang.Object

java - Android 搜索 Activity

java.io.FileNotFoundException : the system cannot find the file specified

java - 检查 List/ArrayList 是否包含字符串 Java 的字符

java - 使用带有 ResultSet 的 ArrayList 的空指针异常

java - JSoup 似乎忽略字符代码?

java - GWT + JDO + 数组列表