在java中关闭扫描仪的目的是什么?
我有一行代码在java中关闭扫描仪的目的是什么?,java,Java,我有一行代码 Scanner input = new Scanner (System.in); 我使用输入来获得一些用户输入 我的程序警告我存在资源泄漏,因为输入从未关闭 一旦我添加了行 input.close(); 它停止抱怨,一切正常 我是Java新手,想知道关闭输入的目的是什么?它是做什么的 它可以防止内存泄漏。当Scanners(或任何其他文件I/O类)关闭时,它们的资源会被释放,内存也会被释放。这也是一种明智而礼貌的资源管理。注意:在这种情况下,这不一定是一个好主意,因为input
Scanner input = new Scanner (System.in);
我使用输入来获得一些用户输入
我的程序警告我存在资源泄漏,因为输入从未关闭
一旦我添加了行
input.close();
它停止抱怨,一切正常
我是Java新手,想知道关闭输入的目的是什么?它是做什么的 它可以防止内存泄漏。当
Scanner
s(或任何其他文件I/O类)关闭时,它们的资源会被释放,内存也会被释放。这也是一种明智而礼貌的资源管理。注意:在这种情况下,这不一定是一个好主意,因为input.close()
也会调用System.in.close
。如果您正在处理文件、套接字或其他任何内容,那么您确实希望关闭它们,因此会发出警告。关闭资源是避免泄漏的一种良好做法。但是,对于本问题中的用法,您还应查看您的扫描仪
与系统的连接情况。