gpt4 book ai didi

java - 无法访问java中的内部类问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:32 24 4
gpt4 key购买 nike

从内部类引用的局部变量必须是 final 或 effectively final 错误显示在下面的代码中:

public Vector<Map<String, Object>> newsFeedConnection(String var, Hashtable punishment) {
ConnectionRequest connectionRequest;
connectionRequest = new ConnectionRequest() {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser p = new JSONParser();
results = p.parse(new InputStreamReader(input));

punishment = (Hashtable) results.get("punishment");
}
}
}

但是当我将其更改为 final 时(下面的代码),它再次给出“无法为 final 变量惩罚赋值”错误。

public Vector<Map<String, Object>> newsFeedConnection(String var, final Hashtable punishment) {
ConnectionRequest connectionRequest;
connectionRequest = new ConnectionRequest() {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser p = new JSONParser();
results = p.parse(new InputStreamReader(input));

punishment = (Hashtable) results.get("punishment");
}
}
}

如何解决这个问题?如果我设置了一个全局变量,我就无法从其他类的方法中访问该值。

最佳答案

您正在重新启动一个概念上 Not Acceptable 最终变量,只需更改 punishment 中的值而不重新创建它,这将解决您的问题。

关于java - 无法访问java中的内部类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com