java - 包装器类

  1. 8种包装器类属于引用数据类型
  2. 作用:把基本数据类型转换成引用数据类型 ,可以执行一些方法。
  • byte —>Byte(父类为Number)
  • short—> Short(父类为Number)
  • int —>Integer(父类为Number)
  • long—> Long(父类为Number)
  • float —>Float(父类为Number)
  • double —>Double(父类为Number)
  • char —>Character(父类直接为Object)
  • boolean —>Boolean(父类直接为Object)
  1. 手动装箱和手动拆箱
  • 手动装箱:
    Integer v1 = new Integer(100);//基本数据类型转变为引用数据类型
    Integer v1 = new Integer("100");
  • 手动拆箱:
    int num = v1.intValue();//由引用数据类型变为基本数据类型
    同理,还有 v1.doubleValue();
    以及 v1.floatValue();
  1. Integer 类常量:
  • 一些常量:
  // 通过访问包装类的常量,来获取最大值和最小值
        System.out.println("int的最大值:" + Integer.MAX_VALUE);
        System.out.println("int的最小值:" + Integer.MIN_VALUE);
        System.out.println("byte的最大值:" + Byte.MAX_VALUE);
        System.out.println("byte的最小值:" + Byte.MIN_VALUE);
  1. 自动装箱和自动拆箱
  • Integer v1 = 100;// v1保存内存地址 自动装箱
  • int num = v1;// 自动拆箱
  • int num1 = v1 + 1;//也可以,v1遇到基本数据类型,自动拆箱。
    看下面代码:
Integer v1 = 1000;
Integer v2 = 1000;
boolean a = (v1 == v2);//a的值为false,因为对象内存地址不同。

注意:
在-128~127之间的值,使用 == 进行判断 值为true 。
因为在-128~127时,对象储存在方法区中的整数型常量池中,会复用已有对象,所以对象内存地址相同。
若超过这个范围,则会在堆区中创建一些对象,内存地址就不同了。所以比较Integer等类型的对象应该采用equals方法。

;

  1. Integer类中的方法:
  • 静态方法 static int parseInt(String str);//将一个字符串变为整形值。
int num = Integer.parseInt("123456");//把String转变为int值
//int num = Integer.parseInt("中文");//"必须为一个数字"英文字符和中文字符都会抛出NumberFormatException 数字格式化异常
S.o.println(num);//

同理还有
Double.parseDouble(String str);
Float.parseFloat(String str);

  • 进制转换
    static String toBinaryString(int i) // 静态的:将十进制转换成二进制字符串。
    static String toHexString(int i) // 静态的:将十进制转换成十六进制字符串。
    static String toOctalString(int i) // 静态的:将十进制转换成八进制字符串。

  • Integer.valueof()方法
    把int类型或者String类型转换成Integer类型
    Integer.valueOf(int i)
    Integer.valueOf(String str)

  1. String、Integer、int 三者之间类型转换
       //  String --> int 
       // Integer.parseInt()
        int i1 = Integer.parseInt("100"); // i1是100数字
        System.out.println(i1 + 1); // 101

        // int --> String 
        //String.valueOf() 或者 123+""
        String s2 = i1 + ""; // "100"字符串
        System.out.println(s2 + 1); // "1001"

        // int --> Integer
        // 自动装箱 或者 Integer.valueOf()
        Integer x = 1000;

        // Integer --> int
        // 自动拆箱 或者 name.intValue()
        int y = x;

        // String --> Integer 
        //Inter.valueOf
        Integer k = Integer.valueOf("123");

        // Integer --> String
        //String.valueOf()
        String e = String.valueOf(k);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值