Java 应该关闭带有字符串输入的扫描器?
Java Scanner with string input should be closed?
Sonar 抱怨 Scanner 应该一直关闭,对吗?
Scanner scanner = new Scanner("simple string")
此扫描仪不是从文件等扫描。为什么要关闭它?
如 Sonar 文档中所述,
Connections, streams, files, and other classes that implement the
Closeable interface or its super-interface, AutoCloseable, needs to be
closed after use.
并且 Scanner
确实实现了 Closeable
接口。因此它应该被关闭。
参考这个link。
通过调用 new Scanner("string")
它创建了一个 StringReader
,它创建了一个字符流。所以你必须关闭它。
public Scanner(String source) {
this(new StringReader(source), WHITESPACE_PATTERN);
}
没有必要关闭Scanner,但最好关闭Scanner,以释放分配给Scanner的资源,优化您的代码,使其更快、更高效。
Sonar 抱怨 Scanner 应该一直关闭,对吗?
Scanner scanner = new Scanner("simple string")
此扫描仪不是从文件等扫描。为什么要关闭它?
如 Sonar 文档中所述,
Connections, streams, files, and other classes that implement the Closeable interface or its super-interface, AutoCloseable, needs to be closed after use.
并且 Scanner
确实实现了 Closeable
接口。因此它应该被关闭。
参考这个link。
通过调用 new Scanner("string")
它创建了一个 StringReader
,它创建了一个字符流。所以你必须关闭它。
public Scanner(String source) {
this(new StringReader(source), WHITESPACE_PATTERN);
}
没有必要关闭Scanner,但最好关闭Scanner,以释放分配给Scanner的资源,优化您的代码,使其更快、更高效。