实际上,情况根本没有改变。编译器稍微聪明一点,不再强迫您使用final关键字。
如果它检测到的变量是 有效的 决赛中,即,分配的只有一次,也绝不之后,一切都很好。如果它检测到它不是有效的final,它将拒绝编译。
因此,它不是强制您将变量定为final,而是自动检测到它。但是,您仍然不能在内部类或lambda中使用无效的final变量。

实际上,情况根本没有改变。编译器稍微聪明一点,不再强迫您使用final关键字。
如果它检测到的变量是 有效的 决赛中,即,分配的只有一次,也绝不之后,一切都很好。如果它检测到它不是有效的final,它将拒绝编译。
因此,它不是强制您将变量定为final,而是自动检测到它。但是,您仍然不能在内部类或lambda中使用无效的final变量。