JavaSE学习:第二十二章、包装类

1、包装类:

1、针对八种基本数据类型,他们相应的引用类型,就是包装类。
就是基本数据类型的引用类型就是包装类
2、包装类有了类的特点,可以调用类中的方法。

2、类继承关系:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、装箱、拆箱:

public class integer_ {
    public static void main(String[] args) {
       // 1、自动装箱:将基本数据类型 --> 包装类
       
        Integer integer = 100; // 底层使用的仍然是Integer.valueOf(n1);

        // 2、自动拆箱:包装类 --> 基本数据类型
        int n2 = integer;  // 底层仍然使用intValue()方法
    }
}

测试题:

  Object obj = true ? new Integer(1):new Double(2.0);
        System.out.println(obj);  // 1.0 三元运算符是一个整体,使用最高精度double

        Object obj2;
        if(true) {
            obj2 = new Integer(1);
        } else {
            obj2 = new Double(2.0);
        }
        System.out.println(obj2); // 1  if不是一个整体,使用自己精度

4、包装类和string转换:

// Integer --> String
Integer i = 100;  // 自动装箱
// 1、方法一:
String str1 = i + "";
// 2、方法二:
String str2 = i.toString();
// 3、方法三
String str3 = String.valueOf(i);

// 2、String --> Integer
String str4 = "234";
Ingeger i2 = Integer.parseInt(str4); // 自动装箱
Integer i3 = new Integer(str4);  // 构造器

5、Integer创建机制:

package com.hsf.wrapper;/*
 * @author HSF
 * @version 8.0
 */

public class integer_2 {
    public static void main(String[] args) {
        new integer_2().method();
    }
    public void method() {
        Integer i = new Integer(1);
        Integer j = new Integer(1);
        System.out.println(i == j);  // false

        /*
        * public static Integer valueOf(int i) {
        * // 如果i是在-128~127之间,直接返回
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
           // 如果不是这个范围,就new一个
            return new Integer(i);
           }
        * */
        Integer m = 1;   // 底层使用的是Integer.valueOf()
        Integer n = 1;
        System.out.println(m == n);   // true

        Integer x = 128;
        Integer y = 128;
        System.out.println(x == y); // false

    }
}

只要有基本数据类型,判断的就是值是否相等

Integer i1 = 127;
int i2 = 127;
System.out.println(i1 == i2); // t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值