Java集合不能存放基本数据类型,只存放对象的引用

Java集合如Map、Set、List等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int、long、float、double等基础类型的数据。   1. 集合存储对象 Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。   2. 基本类型数据如何解决呢? 可以通过包装类把基本类型转为对象类型,存放引用就可以解决这个问题。更方便的,由于有了自动拆箱和装箱功能,基本数据类型和其对应对象(包装类)之间的转换变得很方便,想把基本数据类型存入集合中,直接存就可以了,系统会自动将其装箱成封装类,然后加入到集合当中。   Java的包装类与基础数据类型的对应表: 示例代码:
  1. int i = 10;
  2. Integer in = new Integer(i);//手动将i包装为Integer类型对象 
  3. HashSet set = new HashSet();//定义一个Set集合 
  4. set.add(in);//将包装类对象加入该集合 
  5. System.out.println(set);//打印结果 
  同样的效果(自动包装):
  1. int i = 10;
  2. HashSet set = new HashSet();
  3. set.add(i);//系统会自动将i装箱为Integer类型的对象然后再存入set集合中
  4. System.out.println(set);
  原文地址:http://blog.csdn.net/zm13007310400/article/details/71256507

发表评论

目前评论:1