Java全面细致讲解Wrapper的使用

在封装中有一种特殊的类,能够把基本的数据类型进行转换来方便实际的使用。我们在之前提到的一些数据类型,最明显的特征是所有字母为小写状态,那么经过Wrapper的包装后,首字母就变成了大写。下面我们就这种特殊的封装类Wrapper的使用

一、概述

针对八种基本数据类型定义相应的引用类型—包装类(封装类)。

二、作用

有了类的特点,就可以调用类中的方法,Java才是真正的面向对象。

八种基本数据类型与其包装类的对应关系:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

三、使用

1. 基本数据类型-包装类的实例(装箱)

⭕ 通过包装类的构造器实现:

int i = 500; 
Integer t = new Integer(i);

⭕ 通过字符串参数构造包装类对象:

Float f = new Float(“4.56”);
//Long l = new Long(“asdf”); 报错:NumberFormatException

⭕ 错误举例:

Integer in3 = new Integer("123abc");
System.out.println(in3.toString());
/*  
报错:
Exception in thread "main" java.lang.NumberFormatException: For input string: "123abc"
 */

2. 包装类-基本数据类型(拆箱)

⭕ 调用包装类的xxxValue()方法:

boolean b = bObj.booleanValue();

注意:JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配

3. String-基本数据类型/包装类

⭕ 通过包装类的构造器实现:

    int i = new Integer(“12”);

⭕ 通过包装类的parseXxx(String s)静态方法:

Float f = Float.parseFloat(“12.1”);

⭕ 错误举例:

int num1 = (int)str1;
Integer in1 = (Integer)str1;
//可能会报NumberFormatException

4. 基本数据类型/包装类-String

⭕ 调用字符串重载的valueOf()方法:

   String fstr = String.valueOf(2.34f);

⭕ 更直接的方式:

   String intStr = 5 + "";

5. 转换图

四、经典题目

//(1)
     Object o1 = true ? new Integer(1) : new Double(2.0);
     System.out.println(o1);//1.0
     Object o2;
        if (true)
            o2 = new Integer(1);
        else
            o2 = new Double(2.0);
        System.out.println(o2);//1
    }
//(2)
//java
        Integer i = new Integer(1);
        Integer j = new Integer(1);
        System.out.println(i == j);//false
        Integer m = 1;
        Integer n = 1;
        System.out.println(m == n);//true
        Integer x = 128;
        Integer y = 128;
        System.out.println(x == y);//false

到此这篇关于Java全面细致讲解Wrapper的使用的文章就介绍到这了,更多相关Java Wrapper内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:Java全面细致讲解Wrapper的使用

基础教程推荐