JavaAPI-基本类型包装类

一、基本类型包装类

1.1、基本类型包装类概述

  • 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
  • 基本类型包装类最常见操作是:用于基本类型和字符串之间的相互转换。

1.2、基本数据类型对应的包装类

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

1.3、Integer 包装类

1.3.1、Integer 类的概述

  • Integer 类包装一个对象中的原始类型 int 的值。

1.3.2、Integer 类的构造方法和静态方法获取对象

方法名 说明
public Integer(int value) 根据 int 值创建 Integer 对象(过时)
public Integer(String s) 根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s) 返回一个 Integer对象,保存由指定的 String给出的值

1.3.2.1、Integer(int value) 构造方法

  • 根据 int 值创建 Integer 对象。
Integer ii = new Integer(100);
System.out.println(ii);

1.3.2.2、Integer(String s) 构造方法

  • 根据 String 值创建 Integer 对象。
Integer is = new Integer("100");  // 此字符串的内容必须是整数
System.out.println(is);

1.3.2.3、valueOf(int i) 静态方法

  • 返回表示指定的 int 值的 Integer 实例。
Integer ii = Integer.valueOf(100);
System.out.println(ii);

1.3.2.4、valueOf(String s) 静态方法

  • 返回一个保存指定值的 Integer 对象 String。
Integer is = Integer.valueOf("100");  // 此字符串的内容必须是整数
System.out.println(is);

1.3.3、int和 String的相互转换

1.3.3.1、int ---> String转换

  • public static String valueOf​(int i):返回 int 参数的字符串表示形式。该方法是 String 类中的方法。
// 方法一
  int a = 123;
  String s = "" + 123;
  System.out.println(s);

// 方法二
  int a = 123;
  String s = String.valueOf(a);
  System.out.println(s);

1.3.3.2、String ---> int转换

  • public static int parseInt​(String s):将字符串解析为 int 类型。该方法时 Integer 类中的方法。
// 方法一
// String ---> Integer ---> int
String a = "150";
Integer integer = Integer.valueOf(a);
  // 使用 intValue() 方法把 Integer 类型转换为 int 类型。
int i = integer.intValue();
System.out.println(i);

// 方法二
String a = "150";
int i = Integer.parseInt(a);
System.out.println(i);

1.4、Byte 包装类

1.4.1、Byte 类的概述

  • Byte 类包装一个对象中的原始类型 byte 的值。

1.4.2、Byte 类的构造方法和静态方法获取对象

方法名 说明
public Byte​(byte value) 根据 byte值创建 Byte对象(已过时)
public Byte​(String s) 根据 String值创建 Byte对象(已过时)
public static Byte valueOf​(byte b) 返回表示 byte值的 Byte实例
public static Byte valueOf​(String s) 返回一个 Byte对象,保存由指定的 String给出的值

1.4.2.1、Byte(byte value) 构造方法

  • 根据 byte值创建 Byte对象。
// 第一种:使用变量名传入 byte值。
byte bt = 127;
Byte aByte = new Byte(vt);
System.out.println(aByte);

// 第二种:把数值强制转换为 byte值
Byte aByte = new Byte((byte)127);
System.out.println(aByte);

1.4.2.2、Byte(String s) 构造方法

  • 根据 String值创建 Byte对象。
Byte aByte = new Byte("127");
System.out.println(aByte);

1.4.2.3、valueOf​(byte b) 静态方法

  • 返回表示byte值的Byte实例。
// 第一种:使用变量名传入 byte值。
byte bt = 127;
Byte aByte =Byte.valueOf(bt);
System.out.println(aByte);

// 第二种:把数值强制转换为 byte值
Byte aByte =Byte.valueOf((byte)127);
System.out.println(aByte);

1.4.2.4、valueOf(String s) 静态方法

  • 返回一个Byte对象,保存由指定的String给出的值。
Byte aByte =Byte.valueOf("127");
System.out.println(aByte);

1.5、Short 类

1.5.1、Short 类的概述

  • Short类包装一个对象中的原始类型 short的值。

1.5.2、Short 类的构造方法和静态方法

方法名 说明
public Short​(short value) 根据 int 值创建 Short 对象(过时)
public Short​(String s) 根据 String 值创建 Short 对象(过时)
public static Short valueOf​(short s) 返回表示指定的 short值的 Short实例
public static Short valueOf​(String s) 返回一个 Short对象,保存由指定的 String给出的值

1.5.1、Short(short value) 构造方法

  • 根据 int 值创建 Short 对象。
// 第一种:使用变量名传入 short值。
short sh = 128;
Short aSh = new Short(sh);
System.out.println(aSh);

// 第二种:把数值强制转换为 short值
Short aShort = new Short((short) 123);
System.out.println(aShort);

1.5.2、Short(String s) 构造方法

  • 根据 String 值创建 Short 对象。
Short aShort = new Short("123");
System.out.println(aShort);

1.5.3、valueOf(short s) 静态方法

  • 返回表示指定的 short值的 Short实例。
short sh = 128;
Short aSh = Short.valueOf(sh);
System.out.println(aSh);

1.5.4、valueOf​(String s) 静态方法

  • 返回一个保存指定值的 Short对象 String。
Short aShort = Short.valueOf("123");
System.out.println(aShort);

1.6、Long 类

1.6.1、Long 类的概述

  • Long类包装一个对象中的原始类型long的值。

1.6.2、Long 类的构造方法和静态方法获取对象

方法名 说明
public Long(long value) 根据 long 值创建 Long 对象(过时)
public Long(String s) 根据 String 值创建 Long 对象(过时)
public static Long valueOf(long l) 返回表示指定的 long 值的 Long 实例
public static Long valueOf(String s) 返回一个 Long对象,保存由指定的 String给出的值

1.6.2.1、Long(long value) 构造方法

  • 根据 long 值创建 Long 对象。
Long aLong = new Long(123L);
System.out.println(aLong);

1.6.2.2、Long(String s) 构造方法

  • 根据 String 值创建 Long 对象。
Long aLong = new Long("1235");
System.out.println(aLong);

1.6.2.3、valueOf(long l) 静态方法

  • 返回表示指定的 long 值的 Long 实例。
Long aLong = Long.valueOf(123L);
System.out.println(aLong);

1.6.2.4、valueOf(String s) 静态方法

  • 返回一个 Long对象,保存由指定的 String给出的值。
Long aLong1 = Long.valueOf("123");
System.out.println(aLong1);

1.7、Float 类

1.7.1、Float 类的概述

  • Float类在一个对象中包含一个原始类型float的值。

1.7.2、Float 类的构造方法和静态方法

方法名 说明
public Float(float value) 根据 float 值创建 Float 对象(过时)
public Float(String s) 根据 String 值创建 Float 对象(过时)
public static Float valueOf(float f) 返回表示指定的 float 值的 Float 实例
public static Float valueOf(String s) 返回一个 Float对象,保存由指定的 String给出的值

1.7.2.1、Float(float value) 构造方法

  • 根据 float 值创建 Float 对象。
Float aFloat = new Float(12f);
System.out.println(aFloat);

1.7.2.2、Float(String s) 构造方法

  • 根据 String 值创建 Float 对象。
Float aFloat1 = new Float("123");
System.out.println(aFloat1);

1.7.2.3、valueOf(float f) 静态方法

  • 返回表示指定的 float 值的 Float 实例。
Float aFloat = Float.valueOf(123f);
System.out.println(aFloat);

1.7.2.4、valueOf(String s) 静态方法

  • 返回一个 Float对象,保存由指定的 String给出的值。
Float aFloat1 = Float.valueOf("123");
System.out.println(aFloat1);

1.8、Double 类

1.8.1、Double 类的概述

  • Double类包装一个对象中的基元类型double的值。

1.8.2、Double 类的构造方法和静态方法

方法名 说明
public Double(double value) 根据 double 值创建 Double 对象(过时)
public Double(String s) 根据 String 值创建 Double 对象(过时)
public static Double valueOf(double d) 返回表示指定的 double 值的 Double 实例
public static Double valueOf(String s) 返回一个 Double对象,保存由指定的 String给出的值

1.8.2.1、Double(double value) 构造方法

  • 根据 double 值创建 Double 对象。
Double aDouble = new Double(3.14);
System.out.println(aDouble);

1.8.2.2、Double(String s) 构造方法

  • 根据 String 值创建 Double 对象。
Double aDouble1 = new Double("3.14");
System.out.println(aDouble1);

1.8.2.3、valueOf(double d) 静态方法

  • 返回表示指定的 double 值的 Double 实例。
Double aDouble = Double.valueOf(3.14);
System.out.println(aDouble);

1.8.2.4、valueOf(String s) 静态方法

  • 返回一个 Double对象,保存由指定的 String给出的值。
Double aDouble1 = Double.valueOf("3.14");
System.out.println(aDouble1);

1.9、Character 类

1.9.1、Character 类的概述

  • Character类包装一个对象中的原始类型char的值。

1.9.2、Character 类的构造方法和静态方法

方法名 说明
public Character​(char value) 根据 char 值创建 Character​ 对象(过时)
public static Character valueOf​(char c) 返回表示指定的 char 值的 Character 实例

1.8.2.1、Character(char value) 构造方法

  • 根据 char 值创建 Character 对象。
Character character = new Character('1');
System.out.println(character);

1.8.2.3、valueOf(char c) 静态方法

  • 返回表示指定的 char 值的 Character 实例。
Character a = Character.valueOf('a');
System.out.println(a);

1.11、自动装箱和拆箱

1.11.1、自动装箱

  • 装箱:把基本数据类型转换为对应的包装类类型

  • 例题:

    // 手动装箱
    Integer in = Integer.valueOf(100);
    // 自动装箱
    Integer In = 100;
    

1.11.2、自动拆箱

  • 拆箱:把包装类类型转换为对应的基本数据类型

  • 例题:

    // 手动拆箱
      Integer In = 100;
      // intValue() 方法就是自动拆箱
      int i = In.intValue() + 200;
      System.out.println(i);
    
    // 自动拆箱并装箱
      Integer In = 100;
      In += 200;
      System.out.println(In);
    

1.11.3、出现的问题

  1. 引用类型赋值为 null
Integer In = null;
// 需要添加 if 判断引用类型是否为 null
if(In != null) {
    In += 200;  // NullPointerException
}
System.out.println(In);
  • 注意:
    • 在使用包装类类型的时候,如果做操作,最好先判断是否为 null
    • 我们推荐的是,只要是对象,在使用前就必须进行不为 null 的判断
posted @ 2021-02-20 10:39    阅读(93)  评论(0)    收藏  举报