集合框架练习(1)

来源:互联网 发布:淘宝退货运费谁出 编辑:程序博客网 时间:2024/06/17 13:18
        // 创建Scanner对象        Scanner sc = new Scanner(System.in);        // 提示用户输入        System.out.println("请输入一行字符串:");        // 创建HashSet对象        HashSet<Character> hs = new HashSet<>();        // 将输入的一整行字符串转换为字符数组        String line = sc.nextLine();        char[] charArr = line.toCharArray();        // 将数组中的所有字符都存储在HashSet集合中,在添加的过程中,HashSet会自动去重        for (char c : charArr) {// Character c也可以 - 自动装箱            hs.add(c);        }        // 遍历HashSet集合,打印每一个字符        for (Character c : hs) {// char c也可以 - 自动拆箱            System.out.println(c);        }
注意:
  • 此时,创建sc的地方会有黄色警告:Resource leak: ‘sc’ is never closed;解决办法有三种:①在代码最后添加sc.close();,警告变为白色三角叹号.②使用try{}finally{sc.close();};③根据Eclipse的提示:Convert local variable to field,将sc转换为全局变量.
  • 详细的解释可以参考stackoverflow上的解答:https://stackoverflow.com/questions/12519335/resource-leak-in-is-never-closed
原创粉丝点击