Java 包装类

包装类

基本数据类型都有其对应的引用数据类型,而这些引用数据类型被称为包装类(Wrapper Class)。

  • 对应的包装类如下:
    byte–>Byte
    short–>Short
    int–.Integer
    long–>Long
    float–>Float
    double–>Double
    char–>Character
    boolean–>Boolean

  • 自动装箱与拆箱
    自动装箱 : 基本数据类型可以自动封装成对应的引用数据类型 , 没有自动装箱的时候,需要通过 valueOf 方法进行包装。但是 本质还是通过 valueOf 来进行包装的(JVM来完成的)
    自动拆箱 : 基本数据类型的引用类型可以自动变成其对应的基本数据类型
    示例

public class AutomaticAndStripping {
    public static void main(String[] args) {
    //以int 和 Integer为例
        int i = 100 ;
        // 自动装箱 : 基本数据类型 可以自动变成 引用数据类型
        Integer i2 = i ;
        //手动装箱
        Integer i2 = new Integer(i);
        // 自动拆箱 : 引用数据类型 可以自动变成 基本数据类型
        i = i2 ;
        //自动拆箱
        i = i2.intValue();

        //其他类型同理...
    }
}
  • 基本数据类型和引用数据类型的转换
    valueOf : 该方法是 一个 static 修饰的方法 , 该方法可以将 对应的基本数据类型 和 字符串 包装成对应的 引用数据类型
    toString : 将一个 引用数据类型转成一个 字符串
    parseXXXX : 除了Character 都存在该方法, 该方法可以将 字符串转换成 对应的基本数据类型
    示例
//ValueOf(String s)
//将一个字符串转成对应的类型(Byte、Short、Integer、Long、Double、Float 、Boolean ) , 如果转换不了,则抛出异常
public class ValueOfUse {
    public static void main(String[] args) {
        String s = "我是一个字符串" ;
        s = "123" ;

        // 将 s 包装成 一个 Integer 类型的数据
        // 如果转换不了 , 则出现 运行时异常 : java.lang.NumberFormatException
        Integer integer = Integer.valueOf(s)  ;
        System.out.println( integer );

        //Character 中的valueOf 方法只能接受 char 类型的数据
        //Character.valueOf( );


//ValueOf(String s,int radix)使用   radix是进制数
//将一个字符串转成对应的类型(Byte、Short、Integer、Long、Double、Float ) , radix 是进制
        // 查看最小的 radix
        System.out.println( Character.MIN_RADIX  );
        // 查看最大的 radix
        System.out.println( Character.MAX_RADIX  );

        // radix 的范围是 2 - 36
        //将字符串21转换为Integer引用类型,并以12进制返回
        Integer integer = Integer.valueOf(s , 12 ) ;
        System.out.println( integer );

//toString()方法使用  将一个引用数据类型转换成一个字符串
格式1String toString()
格式2static String toString(int i)
        Integer x=5;
        System.out.println(x.toString());
        System.out.println(Integer.toString(10));
        //也可以通过+号来达到转换成字符串的目的
        String s=x+"";
        System.out.println(s);

//parsexxx的使用  xxx表示数据类型
//有两个参数,String s,int radix 分别表示字符串和进制数
        System.out.println(Integer.parseInt(s));
        System.out.println(Integer.parseInt(s,16));
        System.out.println(Float.parseFloat(s));
        System.out.println(Double.parseDouble(s));
        System.out.println(Boolean.parseBoolean(s));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值