Java中的integer类,自动拆装箱

基本类型四类八种都会 对应的各自的引用类型

整数类型引用类型(默认值为Null)
byteByte
shortShort
longLong
intInteger
浮点类型
floatFloat
doubleDouble
字符类型
charChar
布尔类型
booleaBoolean

需要基本类型和String类型之间转换:需要中间桥梁(基本类型对应的包装类类型)

需求:进制的转换----就可以使用Integer静态功能

//通过Integer得到int类型的取值范围

1.public static String toBinaryString(int i);//:将整数----二进制 的字符串

2.public static String toOctalString(int i);//:将整数----八进制的字符串

3.public static String toHexString(int i);//:将整数----十六进制数据

4.public static final int MAX_VALUE;//:int的最大值

5.public static final int MIN_VALUE;//:int的最小值   
  • Integer的构造方法:

    Integer(int value):可以将int类型保证为Integer类型
    Integer(String s) throws NumberForamtException:  抛出一个数字格式化异常
            注意事项:
                    当前字符串如果不是能够解析的整数的,就会出现数字格式化异常,s必须为 数字字符串
    
class IntegerDemo{
	public static void main(String[] args) {
 
        //创建Integer类对象
        int i = 100 ;
        Integer integer = new Integer(i) ;
        System.out.println(integer);
        System.out.println("---------------------");
        //创建一个字符串
        String s = "hello" ;
        Integer integer2 = new Integer(s) ;
        System.out.println(integer2);
    }
}

运行结果:

	若当前字符串如果不是能够解析的整数的,就会出现数字格式化异常,s必须为 数字字符串

自动拆装箱:

基本类型---> 对应的包装类类型 (装箱)

 int----Integer

 对应的包装类型---->基本类型 (拆箱)

 Integer----int
public class IntegerDemo3 {
    public static void main(String[] args) {
 
        //创建Integer类对象
        int i = 100 ;
        Integer ii = new Integer(i) ;
        ii += 200 ;
        System.out.println("ii:"+ii);
        
    }
}

int → String → Integer → String → int

public class IntegerDemo {
    public static void main(String[] args) {
        
        //integer----String
        //integer类型的静态功能toString 
        public static string tostring(int i)
		
		// string--->int
		//Integer的静态功能
		public static int parseInt(string s)
		
		// string ----Integer ----int
		string s = "100" ;
		Integer i = new Integer(s) ;
		int num = i.intValue() ;
    }
}

例题:(integer 的范围 -128~127)


public class IntegerTest {
    public static void main(String[] args) {
 
        Integer i1 = new Integer(127) ;
        Integer i2 = new Integer(127) ;
        System.out.println(i1==i2);//false
        System.out.println(i1.equals(i2));//true
       System.out.println("----------------------------");
        Integer i3 = 127 ;//valueOf(127)  127  (-128~127)    //直接从内部缓存区中取出数据并么有重新创建对象
        Integer i4 = new Integer(127) ;
        System.out.println(i3== i4);//false
        System.out.println(i3.equals(i4));//true
        System.out.println("-----------------------------");
        Integer i5 = 128 ;  //128已经超出了范围 :new Integer(128)
        Integer i6 = new Integer(128) ;
        System.out.println(i5==i6);
        System.out.println(i5.equals(i6));
 
        System.out.println("-------------------------------");
        Integer i7 = 127 ;
        Integer i8 = 127 ;
        System.out.println(i7==i8);//true  IntegerCache:缓存区取出数据
        System.out.println(i7.equals(i8));//true
 
        System.out.println("-------------------------------");
        Integer i9 = 128 ;//  缓存区中范围:-128~127           return new Integer(128)
        Integer i10 = 128 ;
        System.out.println(i9==i10);//false
        System.out.println(i9.equals(i10));//true
 
      /* Integer i = 127 ;
        System.out.println(i);*/
 
        /**
         * 反编译工具查看:执行底层的valuOf()
         * Integer i = Integer.valueOf(127);
         * 		System.out.println(i);
         */
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值