【问题标题】:Local Variable Type Inference局部变量类型推断
【发布时间】:2019-04-09 11:16:13
【问题描述】:

我已经学习 Java 4 周了。我使用 Notepad++ 编写代码和命令提示符来编译和运行 Java 文件。每当我使用 var 作为局部变量类型推断时,我总是在命令提示符中收到以下错误:找不到符号。

class VarDemo {
    public static void main(String args[]) {
        var avg = 10.0;
        System.out.println("Value of avg: " + avg);

 }

【问题讨论】:

  • 你运行的是什么版本的 Java?
  • Java 10 中添加了 var 关键字。如果您运行“java -version”,它可能会显示低于 10 的 java 版本,这将导致此问题。
  • 我使用这个版本:java 版本 "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13) , 混合模式)

标签: java


【解决方案1】:

在 Java 10 版本之前,使用 var 创建变量在 Java 中不可用。

您应该检查您的 Java 版本,如果您的 Java 版本低于 Java 10,请使用其他类型声明变量,如下所示:

class VarDemo {
    public static void main(String args[]) {
        double avg = 10.0;
        System.out.println("Value of avg: " + avg);

 }

有关 Java 10 中 var 的更多信息:https://developer.oracle.com/java/jdk-10-local-variable-type-inference

【讨论】:

    【解决方案2】:

    确保您运行的是最新的 Java 版本。

    您可以使用OpenJDK 安装最新的长期支持版本 Java 11 并卸载旧版本。

    var 是在 Java 10 中引入的。如果您的 JDK 较旧,则无法使用它。

    如果您想坚持使用 Java 8,则不能使用局部变量类型推断,您必须将该行更改为:

    double avg = 10.0;

    【讨论】:

      【解决方案3】:

      问题出在Java版本,请改用doublefloat

      【讨论】:

        猜你喜欢
        • 2018-09-09
        • 1970-01-01
        • 1970-01-01
        • 2020-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-19
        • 1970-01-01
        相关资源
        最近更新 更多