猿问

尝试使用资源为什么无法修改资源

我发现一个尝试资源示例,当我尝试将引用扫描的值设置为 null 时,该示例无法编译


try(Scanner scan = new Scanner(System.in)) {

    String s = scan.nextLine();

    System.out.println(s);

    scan = null;

}

我问这个编译错误背后的规则是什么,我在网上做了一些搜索,但没有找到解释它的规则感谢您的任何解释:=)


慕的地10843
浏览 57回答 1
1回答

紫衣仙女

这是设计使然。您无法重新分配final变量。14.20.3。尝试资源如果未显式final声明,则资源规范中声明的变量将被隐式声明final(第 4.12.4 节)。
随时随地看视频慕课网APP

相关分类

Java
我要回答