似乎 java 编译器 (Jdk8) 缺少像 'j = j++;' 这样的赋值警告 这没有任何效果,而是会为“j = ++j;”之类的赋值生成警告 实际上有效果。我附上了一个演示脚本。
请注意,您必须选择适当的标志来报告 java 编译器java 编译器设置中的分配错误
public static void main(String[] args) {
int j = 0;
j = ++j; //Compiler warning: The assignment to variable j has no effect
System.out.println("j="+j); //Prints 1
int i = 0;
i = i++; //Compiler warning: 'None'
System.out.println("i="+i); //Prints 0
}
这是java编译器的错误吗?