java包装类

1.八个基本数据类型:

    byte    Byte

    short    Short

    int    Integer

    long    Long

    float    Float

    double    Double

    char    character

    boolean    Boolean

2.类所属的包:java.lang(不需要导包,可以直接使用)

3.类的关系:

    6个与数字相关的(byte short int long float double)继承了Number

    8个都实现了serializable comparable接口

4.是否可以创建对象:8个都有自己本身类型的构造方法

    有7个(除了character)都有参数类型为String的构造方法的重载

5.Number类:

    有xxxValue()方法,是包装类转基本类方法

6.在JDK1.5之前,没有自动拆装箱过程,需要手动转包装类和基本类型

    如:Integer i = new Integer(1);int ii = i.intValue();

7.在JDK1.5之后,出现了自动拆装箱过程

    如:Integer i = 1;int value = i;

8.笔试常见题

    Integer i1 = 10;

    Integer i2 = 10;

    Integer i3 = new Integer(10);

    Integer i4 = new Integer(10);

问:

    i1 == i2 ? true

    i1 == i3 ? false

    i3 == i4 ? false

    i1.equals(i2) ? true

     i1.equals(i3) ? true

     i3.equals(i4) ? true

 

aaa;Integer类加载的时候,自己的静态空间有一个Integer[],数组是-128 ~ 127 范围内的对象,所以如果你的数字超出范围,比如是1000,那么就会自动在堆内存中new一个对象

所以,如果把上述问题的10改成1000,那么i1 == i2 ? false

9.笔试题总结:

    Integer类加载的时候,自己有一个静态空间,空间内有256个Integer对象,范围是-128 ~ 127之间,如果我们需要的对象超出范围的话,Integer i = 1000; 会帮我们在堆内存创建一个新的Integer对象,类似于Integer i = new Integer(1000);

转载于:https://my.oschina.net/u/2954291/blog/3099255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值