简体   繁体   English

扫描器类和字符串缓冲区

[英]Scanner Class And String Buffer

Whenever I use Scanner class for input it shows a warning regarding memory leak, ".in" not closed. 每当我使用Scanner类进行输入时,都会显示有关内存泄漏的警告,“。in”未关闭。 While using Buffered Reader it does not show any warning. 使用Buffered Reader时,它不会显示任何警告。 Why So? 为什么这样?

    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]);    
    }

In either case, you should close the Scanner or BufferedReader to avoid resource leaks. 无论哪种情况,都应关闭ScannerBufferedReader以避免资源泄漏。 The compiler apparently doesn't recognize the problem with BufferedReader and doesn't issue the warning. 显然,编译器无法识别BufferedReader的问题,也不会发出警告。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM