我发现了一个try with resources示例,当我试图将引用扫描的值设置为null时,该示例无法编译
try(Scanner scan = new Scanner(System.in)) { String s = scan.nextLine(); System.out.println(s); scan = null; }
我问这个编译错误背后的规则是什么,我在网上做了一些搜索,但没有找到解释它的规则 感谢您的任何解释:=)
这是设计的。不能重新分配 final 变量。
final
14.20.3. try-with-resources 资源规范中声明的变量是 隐式声明 如果没有明确声明 最终的 (§4.12.4)。
资源规范中声明的变量是 隐式声明 如果没有明确声明 最终的 (§4.12.4)。
最终的