java工具类-包装类(封装类)

包装类(封装类) 1.5版本之后 自动拆装包

​ byte—Byte short—Short int—Integer long—Long
​ float—Float double—Double char—Character boolean—Boolean

  1. 八个包装类都在同一个包下 java.lang包 不需要import导包直接使用
  2. 八个包装类中有六个是与数字相关 都默认继承父类Number
  3. 八个包装类都实现了Serializable, Comparable
  4. 八个包装类都有带自己对应类型参数的构造方法
    八个包装类中有七个(除了Character)还有构造方法重载 带String类型
  5. 创建对象 对象调用方法
    有六个与数字相关的类都继承Number xxxValue(); 将一个包装类类型转化为对应的基本类型(拆包)
Integer i1 = new Integer(10);//引用数据类型 包装类
int value = i1.intValue();

Integer i2 = 10;
int value = new Integer(10);

int value = Integer.parseInt("123");	Float.parseFloat("123.45")
int value = new Integer("123");

6.经常在笔试中出现的问题

	Integer i1 = 10;
	Integer i2 = 10;
	Integer i3 = new Integer(10);
	Integer i4 = new Integer(10);
	System.out.println(i1==i2);//  true--->如果数字范围超过127false
	System.out.println(i1==i3);//  false
	System.out.println(i3==i4);//  false
	System.out.println(i1.equals(i2));//true
	System.out.println(i1.equals(i3));//true
	System.out.println(i3.equals(i4));//true
  1. ==与equals()区别

    可以比较基本数据类型 也可以比较引用数据类型 (变量中存储的内容)

    如果比较基本类型比较是变量中存储的值

    如果比较引用类型比较是变量中存储的地址引用

    equals()是Object类中继承过来的方法 每一个引用类型都可以调用

    默认继承的equals()方法比较与==一致 如果想要改变比较规则 可以重写equals方法

    由于Integer类就重写了equals() 所以Integer比较的是数值

  2. 考察Integer类加载的时候 自己有一个静态的空间

    扫描二维码关注公众号,回复: 8668846 查看本文章

    空间内立即加载 Integer类型的数组 内存储256个Integer对象 -128 ~ 127
    如果我们用的对象范围在这之内Integer i1 = 10; 直接取静态区中找对应的对象
    如果我们用的对象范围超出了这个Integer i1 = 1000; 会帮我们创建一个新的Integer对象

发布了30 篇原创文章 · 获赞 0 · 访问量 6642

猜你喜欢

转载自blog.csdn.net/qq_37710756/article/details/103588420
今日推荐