A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 对面的1 初级黑马   /  2016-5-21 10:30  /  452 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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实现了自动装箱,装箱之后就是引用类型了么?怎么实现的啊?

2 个回复

倒序浏览
不用太纠结,基本类型是不能作为泛型使用的
回复 使用道具 举报
有些东西现在不需要太深究,以后接触的多了,慢慢的就自己明白了。 现在只需要记住这个概念,泛型只能是对象类型的,不能是基本类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马