JAVA基础(21)-包装类

包装类


    java语言是面向对象的语言,而基本数据类型的数据不是对象,但是,有的时候我们需要研究使用基本数据类型的数据,需要将之转换成对象来使用。 这个时候,我们可以将基本数据类型包装成 引用类型。
        
    每一个基本数据类型都对应一个包装类:
  
    特点:
           (1)都是final修饰的
           (2)一经创建的对象里的数据不可变 
    常用构造器:
           Integer(int value)    通过指定的基本数据类型的数据构建一个Integer对象
           Integer(String str)   通过指定的字符串的数据构建一个Integer对象   
    常用方法:
           int intValue()   作用是将包装类的对象拆箱成基本数据类型
           static int parseInt(String s)   作用是将字符串转成10进制的基本数据类型
           static Integer valueOf(String s)   作用是将字符串转成Integer对象

    常量池:
           jvm在使用字符串类型时,为了提高内存的使用率,当使用字面量(常量),进行给变量赋值时,在方法区内提供了用于存储字面量对象的一个常量池。

           当将基本数据类型进行自动装箱时,装箱后的对象的字面值,如果是在-128~127之间,会先检查常量池中是否有相同字面值的对象,如果有,则将常量池的对象的地址给引用变量。(浮点类型没有常量池)
           原理:当使用字面量赋值时,先去方法区内的常量池中查询是否有相同字面量的对象,如果有,就返回常量池中对象的地址,没有的话,在常量池中创建此字面量的对象再返回。
    注意:将字符串转成基本数据类型时,有可能出现运行时异常: java.lang.NumberFormatException
    
JDK1.5以后支持自动装箱和拆箱   

练习代码

public static void main(String[] args) {
		//构建一个Integer对象,封装 数字5
		Integer obj1 = new Integer(5);
		Integer obj2 = new Integer("5");
		/*
		 * 装箱:将基本数据类型包装成引用类型
		 * 拆箱:将包装类型的对象拆箱成基本数据类型
		 * */
		/* 调用拆箱方法,将obj1转成基本数据类型*/
		System.out.println(obj1);
		int v1 = obj1.intValue();//拆箱
		/* 调用装箱方法,将10转成Integer对象*/
		Integer i = Integer.valueOf(10);//装箱,变成引用类型
		
		/*将字符串"100"转成基本数据类型*/
		int v2 = Integer.parseInt("100");
		System.out.println(v2);
		
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		
	}

猜你喜欢

转载自blog.csdn.net/woainiqazwsx123/article/details/81835803
今日推荐