我安装了JDK 10以试用新功能,我在var
上挂了一大笔 - 由于某种原因,即使将JDK添加到IntelliJ(版本2018.1),以下代码仍然赢了编译,说Java找不到符号var
:
public class Variations {
public static void main(String[] args) {
var local = "foo";
System.out.println(local);
}
}
我在这里遗漏了一些明显的东西,或者我应该启用IntelliJ中的选项吗?
编辑:项目和模块 SDK和语言级别都设置为Java 10安装和lvl。 10(虽然不是X - experimental
级别)。
答案 0 :(得分:4)
显然,虽然IDE的硬重启是不够的,但是通过在项目和模块上将语言级别设置为X - Experimental features
一次,然后将其重新设置为lvl。 10 足以让IDE恢复正常。
我想我应该相信@CrazyCoder在这里给我这个想法,即使是间接的。
答案 1 :(得分:1)
在Settings / Build / Compiler / Java Compiler中,您必须在每个模块中将“目标字节码版本”更改为10.
答案 2 :(得分:0)
我在网上搜索了一会儿,我发现IntelliJ完全支持它。您是否检查过您在IntelliJ上运行的SDK版本是否排在第10位? 您可以转到项目结构( Alt + Shift + Ctrl + S ), SDKS 进行检查。如果您在面板左侧看不到标签 10.0 ,请从此处手动添加加号按钮。 希望这会有所帮助。
答案 3 :(得分:0)
您的代码在基于 2018年3月27日的MacOS IntelliJ 2018.1上的Java10中运行良好。
IntelliJ IDEA 2018.1(社区版) Build#IC-181.4203.550,建于2018年3月27日
您的IntelliJ或struct node *temp1 = head->next, *temp2;
while (temp1 != head) {
temp2 = temp1->next;
free(temp1);
temp1 = temp2;
}
free (head);
head = NULL;
可能有错误。尝试使用终端中的JDK
代替。如果可以的话,应该更新你的IntelliJ。如果不能,应检查已安装的jshell
。我机器上的版本:
" 10"二零一八年三月二十零日 Java(TM)SE运行时环境18.3(版本10 + 46)