包装类的基本用法以及自动装箱和自动拆箱

一、包装类

Java中的基本数据类型没有方法和属性,而包装类就是为了让这些拥有方法和属性,实现对象化交互。

基本类型

对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

数值型包装类都继承至Number,而字符型和布尔型继承至Object。

二、基本数据和包装类之间的转换

装箱:基本数据类型转换为包装类;

拆箱:包装类转换为基本数据类型。

package com.sanyuan.WraperClassTest;

/**
 * 包装类的基本用法
 * 自动装箱和自动拆箱
 * @author huang
 *
 */

public class Test01 {
    public static void main(String[] args) {
        //基本数据类型转换为对象
        Integer i = new Integer(10);
        Integer i2 = Integer.valueOf(20);
        
        //包装类对象转换为基本数据类型
        double d = i2.doubleValue();
        
        //将字符串数字转成包装类对象
        Integer i3 = Integer.valueOf("234");
        Integer i4 = Integer.parseInt("334");
        
        //将包装类对象转成字符串
        String str = i3.toString();
        
        //一些常用的常量
        System.out.println("int能表示的最大整数:"+Integer.MAX_VALUE);
        
        //自动装箱
        Integer a = 300;    //编译器帮你改成:Integer a = Integer.valueOf(300);
        
        //自动拆箱
        int b = a;         //编译器帮你改成:a.intValue();
        
        //Integer c = null;
        //int c2 = c;       //编译器帮你改成:c.intValue();
        //java.lang.NullPointerException:对象为空,但我们却调用了他的属性或方法
        
        //包装类的缓存问题
        Integer d1 = 4000;
        Integer d2 = 4000;
        
        //当数值在[-128,127]之间的时候,返回缓存数组中的某个元素。
        Integer d3 = 123;
        Integer d4 = 123;
        
        System.out.println(d1==d2);   //两个不同的对象
        System.out.println(d3==d4);
        System.out.println(d1.equals(d2));
    }

}

 

包装类的基本用法以及自动装箱和自动拆箱

上一篇:面试十六、redis之五种数据类型和使用场景


下一篇:瞎写随笔2---还是各种取值和解析