包装类

包装类

​ 包装类:基本数据类型,使用起来非常的方便,但是没有对应的方法操作基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,可以使用包装类中的方法来操作这些基本类型的数据。

基本类型包装类(引用类型)都位于java.lang包
byteByte
shortShort
intInteger [特殊]
longLong
floatFloat
doubleDouble
charCharacter [特殊]
booleanBoolean

都位于java.lang包下。可以直接使用,不用导包。

装箱与拆箱

装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)两种玩法:

​ 构造方法:1.Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。 2.Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。(传递的字符串必须是基本类型的字符串"100"正确,若"abc"则报错)

​ 静态方法:

static Integer valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)
返回保存指定的 String 的值的 Integer 对象。

拆箱:在包装类中取出基本类型的数据(包装->基本类型的数据)一种玩法

成员方法:

int intValue()
返回:转换为 int 类型后该对象表示的数值。

自动拆箱装箱 jdk1.5后出的

public class IntegerClass {
    public static void main(String[] args) {
        //自动拆箱与装箱
        Integer in=1;//自动装箱 相当于Integer in = new Integer(1);
        int a=in;//自动拆箱 相当于int a = in.intValue(); 对象in用模板类的intValue()方法in.intValue();

        System.out.println(in);
        System.out.println(a);
        in=in+2;//就相当于先拆为基本类型 in.intValue()+2得到的结果又装箱回去并赋值给in
        System.out.println(in);
    }

小总结:对象in用模板类的intValue()方法in.intValue();

public class Demo02 {
    public static void main(String[] args) {
        ArrayList<String> list2 =new ArrayList<>();
        list2.add("wei");
        System.out.println(list2);
        ArrayList<Integer> list3 =new ArrayList<>();
        list3.add(1);//这里边隐含了一个装箱(new Integer(1))
        System.out.println(list3);//判断得出结论,输出不是对象的hashcade值,因为源码重写了toString方法
    }
}
//打印
[wei]
[1]

基本类型和字符串类型的相互转换(基本类型->字符串(String))

  1. 基本类型的值直接+字符串(1+" ")

  2. 包装类的静态方法toString(参数),不是Object类的toString() 是包装类重载后的toString();

    static String toString(int i) 返回一个表示指定整数的 String 对象。

  3. String类的静态方法valueOf

字符串类型和基本类型的相互转换(字符串(String)–>基本类型)

​ 1.使用包装类里的静态方法

​ 比如Integer包装类 static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析。 返回:用十进制参数表示的整数值。

package com.Class.Demo01.IntegerClass;

public class Demo02 {
    public static void main(String[] args) {
//        一.基本类型转字符串类型
        //1.基本类型的值直接+字符串(1+" ")
        int i=100;
        String s1=i+"";//int转String
        System.out.println(s1+200);//100200    验证是不是String类型
        //2.包装类的静态方法toString(参数)
        String s2 = Integer.toString(200);
        System.out.println(s2+200);//200200    验证是不是String类型
        //3.String类的静态方法valueOf
        String s3 = String.valueOf(100);
        System.out.println(s3+200);//100200    验证是不是String类型
        //二.字符串类型转基本类型
        int i1 = Integer.parseInt(s1);
        System.out.println(i1+100);//验证是不是转成int基本类型了
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值