黑马程序员技术交流社区

标题: 关于泛型的使用 [打印本页]

作者: 对面的1    时间: 2016-5-21 10:30
标题: 关于泛型的使用
import java.util.HashSet;
import java.util.Scanner;
public class Test2 {
/**
  * * 使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符
  * aaaabbbcccddd
*/
public static void main(String[] args) {
  //1,创建Scanner对象
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一行字符串:");
  //2,创建HashSet对象,将字符存储,去掉重复
  HashSet<Character> hs = new HashSet<>();
  //3,将字符串转换为字符数组,获取每一个字符存储在HashSet集合中,自动去除重复
  String line = sc.nextLine();
  char[] arr = line.toCharArray();
  for (char c : arr) {       //遍历字符数组
   hs.add(c);
  }
  for(char ch : hs) {       //4,遍历HashSet,打印每一个字符
   System.out.print(ch);
  }
}
}
为什么“HashSet<Character> hs = new HashSet<>();“这条语句中 “Character”不能改成 “char”?Character实现了自动装箱,装箱之后就是引用类型了么?怎么实现的啊?

作者: 68846259    时间: 2016-5-21 19:48
不用太纠结,基本类型是不能作为泛型使用的
作者: My_Android    时间: 2016-5-22 21:42
有些东西现在不需要太深究,以后接触的多了,慢慢的就自己明白了。 现在只需要记住这个概念,泛型只能是对象类型的,不能是基本类型




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2