每当我使用Scanner类进行输入时,它会显示有关内存泄漏的警告,“。in”未关闭。使用缓冲读卡器时,它不会显示任何警告。为什么这样?
class Demo
{
public static void main(String[] arg){
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);
String[] str = new String[1];
str[0] = sc.next();
System.out.println(str[0]);
}
答案 0 :(得分:2)
在任何一种情况下,您都应该关闭Scanner
或BufferedReader
以避免资源泄漏。编译器显然没有识别BufferedReader
的问题,也没有发出警告。