【问题标题】:Cannot resolve symbol 'var' in intellij, cannot fix through byteversion [duplicate]无法解析intellij中的符号'var',无法通过byteversion修复[重复]
【发布时间】:2021-04-24 21:02:07
【问题描述】:

我的申请有问题。每当我尝试使用字符 'var' 时,IDE 都无法识别它。我试过this thread here,但并没有改变我的问题。

我创建了一种使用 UserRepository 从数据库中检索用户的方法,这就是问题所在:

    @Override
    public List<User> findAll() {

        var users = (List<User>) userRepository.findAll();

//        List<User> users = new ArrayList<User>(userRepository.findAll());

        return users;
    }

Settings

有什么建议吗?

【问题讨论】:

  • 项目结构(Language Level)需要使用Java 11。检查一下。
  • 从 Java 10 开始引入“局部变量类型推断”(即 var),因此您需要使用 JDK 10+ 版本。
  • 请阅读:"Why not upload images of code/errors when asking a question?"---请edit问题并添加编译错误,以及userRepository::findAll的定义。
  • 感谢您的回复。我进入文件 > 项目结构 > 模块并将我的项目的语言级别更改为 11。现在可以识别“var”。感谢您的帮助!
  • 让我们把一切都放在答案中,这样其他人就可以得到帮助。请接受答案。

标签: java intellij-idea


【解决方案1】:

“局部变量类型推断”(即 var)从 Java 10 开始引入,因此您需要使用 JDK 10+ 版本。
如果你没有这个版本,请到Oracle官网下载安装,然后启动IntelliJ,进入“文件->项目设置->项目”,在“项目JDK”栏选择JDK版本。

【讨论】:

    【解决方案2】:

    JDK 版本错误。 你应该在这个idea项目设置中使用JDK 10+。

    【讨论】:

      猜你喜欢
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多