2020-10-16包装类

包装类

基本数据类型,使用起来非常的方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本数据类型封装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据;

装箱和拆箱

基本数据类型和对应的包装类对象之间,来回转换的过程

装箱:从基本数据类型转换为对应的包装类对象
以Integer为例:
构造方法:(已过时)
Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
Integer(String s) 构建了一个新分配的 Integer表示 int值表示的 String参数
静态方法:
static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值
拆箱:从包装类对象转换为对应的基本类型
成员方法:
int intValue() 以int类型返回该integer类型。

/**
 * Integer的装箱和拆箱
 *      装箱:
 *          把基本类型的数据变成包装类
 *          构造方法:
 *              Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
 *              Integer(String s)  构建了一个新分配的 Integer表示 int值表示的 String参数
 *          静态方法:
 *              static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
 *              static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值。
 *
 *      拆箱:
 *          在包装类中取出基本数据类型的数据
 *           成员方法:
 *              int intValue() 以int类型返回该integer类型
 * @author Administrator
 * @date 2020-10-15  下午 16:30
 */
public class Demo01Integer {
    
    
    public static void main(String[] args) {
    
    
        demo01();
        demo02();
    }

    /**
     * 拆箱:
     */
    private static void demo02() {
    
    
        Integer number = new Integer(9390);
        int i = number.intValue();
        System.out.println(i);
        System.out.println();

    }

    /**
     * 装箱:
     *      Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
     *      Integer(String s)  构建了一个新分配的 Integer表示 int值表示的 String参数
     */
    private static void demo01() {
    
    
        //构造方法 已过时
        Integer number = new Integer(9390);
        Integer numberOne = new Integer("13456");
        System.out.println(number);
        System.out.println(numberOne);
        System.out.println();
        //静态方法
        Integer valueOne = Integer.valueOf(1010);
        // Integer value = Integer.valueOf("a"); NumberFormatException 数字格式异常 只能转换对应类型
        Integer valueTwo = Integer.valueOf("9436");
        System.out.println(valueOne);
        System.out.println(valueTwo);
        System.out.println();

    }
}
9390
13456

1010
9436

9390

自动装箱和自动拆箱

由于我们要经常做基本数据类型和包装类之间的转换,从java 5 (JDK 1.5)开始,基本数据类型的装箱和拆箱操作可以自动完成。
Integer i = 4 相当于 Integer i = Integer.valueOf(4);
i= i+5; 相当于 i.Integer.valueOf()+5; 加法运算完之后,再次装箱,把基本数值转换成对象;

猜你喜欢

转载自blog.csdn.net/holytrees/article/details/109120913
今日推荐