zoukankan      html  css  js  c++  java
  • java基本数据类型及其包装类

     1,Java集合如Map、Set、List(当然stack也是)等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int、long、float、double等基础类型的数据。

    为什么?

    Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的

    怎么解决?

    可以通过包装类把基本类型转为对象类型,存放引用就可以解决这个问题。更方便的,由于有了自动拆箱和装箱功能,基本数据类型和其对应对象(包装类)之间的转换变得很方便,想把基本数据类型存入集合中,直接存就可以了,系统会自动将其装箱成封装类,然后加入到集合当中。

    示例代码:

    手动包装(手动装箱) 
    int i = 10; 
    Integer in = new Integer(i);//手动将i包装为Integer类型对象 
    HashSet set = new HashSet();
    set.add(in);//将包装类对象加入该集合 
    System.out.println(set);
    
    自动包装(自动装箱) 
    int i = 10; 
    HashSet set = new HashSet(); 
    set.add(i);//系统会自动将i装箱为Integer类型的对象然后再存入set集合中 
    System.out.println(set);
  • 相关阅读:
    POJ 1082 博弈推规律
    博弈论总结
    POJ 2502 Subway 关键在建图
    【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?
    一位ACMer过来人的心得
    POJ1724 Dij队列优化邻接表
    Dijkstra队列优化矩阵版
    Uva247 Floyd传递闭包+map处理
    简爬新浪新闻网
    爬href链接
  • 原文地址:https://www.cnblogs.com/xdyixia/p/9325729.html
Copyright © 2011-2022 走看看