java - 如何只使用一次扫描仪然后将其丢弃?

标签 java java.util.scanner resource-leak

我有一个java程序,其中我必须获取用户输入,但是,我只需要获取用户输入一次,之后,我就不再需要扫描仪了。执行以下操作:

int userInput = new Scanner(System.in).nextInt();

给我一​​个资源泄漏警告,说 <unassigned closeable value> is never closed .

是否有另一种方法可以让我只使用一次扫描仪,然后将其删除,这样就不会出现资源泄漏?也许类似于 C# 的 using声明。

最佳答案

相当于 C# 的 usingtry-with-resources 。不要使用它,它会关闭 System.in 而你不希望这样。忽略此特定情况的警告。让垃圾收集器声明 Scanner 并保留标准输入不变。

关于java - 如何只使用一次扫描仪然后将其丢弃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435380/

相关文章:

java - 如何在 Eclipse 中配置构建路径条目

java - 在 chain.doFilter 之后调用 request.setAttribute

java - 使用 BufferedInputStream 代替 Scanner 时遇到困难

java - IOUtils.closeQuietly 如何隐藏 "resource leak"警告?

c# - 使用围绕对话框形式的语句来确保垃圾收集

java - <T extends Comparable<T>> 是什么意思?

java - 来自 superClass 的 JPA OneToMany 关联

java - 为什么 Files.lines(和类似的 Streams)不会自动关闭?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 保存txt文件时出现文件未找到错误