variables - 此处不允许变量声明

标签 variables foreach hashmap declaration hashset

 private HashMap<String, String> answers;

 public String generateResponse(HashSet<String> word)
 {
    for(String word : words)
     String answer = answers.get(word);
    if(answer != null){
        return answer;
    }else {
        return standardAnswers();
    }
 }

我已经导入了HashMap。我希望 HashSet 中的每个单词都能在 HashMap<> 答案中得到它。但在 for-each 循环中说:此处不允许变量声明

我该如何解决这个问题?

最佳答案

声明不是声明,因此不允许出现在该位置。

如果是的话,answer 无论如何都会超出 if 语句的范围。

使用 block 作用域来声明和使用answer:

 private HashMap<String, String> answers;

 public String generateResponse(HashSet<String> word)
 {
    for(String word : words)
    {
        String answer = answers.get(word);
        if(answer != null){
            return answer;
        } else {
            return standardAnswers();
        }
    }
 }

关于variables - 此处不允许变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27102344/

相关文章:

javascript - 在 Javascript 数组中引用变量

iOS - 我的实例变量发生了什么?

arrays - Ruby: "upserting"散列中数组值的更惯用方式

xml - 通过 powershell 将数据附加到现有的 xml 文件中

java - 我需要实现一种方法,可以从值中获取键并删除方法

java - 查找 HashMap 是否包含值并仅删除该值

JavaScript 变量相关

php - 在php中使用mysql更新查询内的变量

java - 返回列表的迭代器

javascript - 在 getElementsByClassName 的数组上使用 forEach 会导致 “TypeError: undefined is not a function”