寻常路 发表于 2021-5-12 08:16:27

非常简单的一个问题,Java中怎么用不了var

看core Java 的时候说从Java10开始可以用var定义局部变量,原文如下:

Starting with Java 10, you do not need to declare the types of local variables if they can be inferred from the initial value. Simply use the keyword varinstead of the type:
var vacationDays = 12; // vacationDays is an int
var greeting = "Hello"; // greeting is a String

我试了一下,却不行,不知道有什么讲究?我这样写的

public class test1 {
    public static void main(String[] args){
      var n = 100;
      System.out.println(n);
    }
}

编译提示:
Warning:(3, 13) java: 从发行版 10 开始,'var' 是受限制的本地变量类型,无法用于类型声明,也无法用作数组的元素类型
Error:(3, 9) java: 找不到符号
符号:   类 var
位置: 类 test1

湖水清澈 发表于 2021-5-14 09:25:41

你编译版本不是10吧

胡志云 发表于 2021-5-16 22:27:30

java用8种基础类型定义变量不能是var 这种弱语言 定义类型

司卡 发表于 2021-5-18 22:47:12

java基本类型包含八种基本类型,byte,short,int,double,float,long,char,boolean

草原孤鹜 发表于 2021-5-21 17:01:48

反正我测试过var 使用是没有问题的,先确定你使用编译器的jdk是10以上

艳君 发表于 2021-5-24 04:13:05

楼主的编译环境中,除了JDK16之外,应该还有别的低版本的JDK,代码在编译的时候,使用的是低版本的JDK,所以,报语法错误。
很明显,当前编译器,无法识别新的关键字 var 。解决方案就是,想办法使用JDK16进行源码的编译即可。

科创板 发表于 2021-5-26 17:58:41

jdk和jre的区别看一下,我怀疑你的jre没装或者没配好,只是用jdk打包

东方办公家具 发表于 2021-5-28 01:26:28

JDK8之前应该没有var关键字吧,最新的jdk有这个关键字了?

联合酿酒集团 发表于 2021-6-1 08:09:29

JDK8之前应该没有var关键字吧,最新的jdk有这个关键字了?
页: [1]
查看完整版本: 非常简单的一个问题,Java中怎么用不了var