Java-包装类(Wrapper)的使用(一篇讲透)
包装类的使用
- 前言
前言
本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!
一、概述
针对八种基本数据类型定义相应的引用类型—包装类(封装类)。
二、作用
有了类的特点,就可以调用类中的方法,Java才是真正的面向对象。
八种基本数据类型与其包装类的对应关系:
基本数据类型 | 包装类 |
---|---|
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
char |
Character |
三、使用
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