单元测试方法
Java 中的 JUnit 单元测试,步骤:
- 创建 Java 类,进行单元测试。这个类要求:
- 此类是 public 的。
- 此类提供公共的无参数构造器。
- 此类中声明单元测试方法。单元测试方法要求:
- 方法的权限是 public。
- 没有返回值、没有形参。
- 单元测试方法上需要声明注解 @Test,并
import org.junit.Test;
。
1 | import org.junit.Test; |
包装类
针对八种基本数据类型定义相应的引用类型,即包装类(封装类)。有了类的特点,就可以调用类中的方法,Java 才是真正的面向对象。
装箱和拆箱
装箱
基本数据类型包装成包装类:装箱。
- 通过包装类的构造器实现。
1 | int i = 500; |
- 通过字符串参数构造包装类对象。
- 注意若参数不能解析,抛出 NumberFormatException 异常(除了布尔类型外)。
1 | Float f = new Float("3.14159"); |
拆箱
获得包装类对象中包装的基本类型变量:拆箱。
- 调用包装类的
.xxxValue()
方法:
1 | boolean b = boolObj.booleanValue(); |
JDK 1.5 之后,支持自动装箱、自动拆箱。但是类型必须匹配。
1
2
3
4
5
6 // 自动装箱
int num = 10;
Integer numObj = num;
// 自动拆箱
int num2 = numObj;
基本数据类型、包装类与 String 的转换
- 基本数据类型与包装类之间:
- 基本数据类型到包装类:装箱。
- 通过构造器:
Integer t = new Integer(8)
。 - 通过字符串参数:
Float f = new Float("3.1415")
。 - 自动装箱。
- 通过构造器:
- 包装类到基本数据类型:拆箱。
- 调用包装类方法 xxxValue:
boolean b = boolObj.booleanValue()
。 - 自动拆箱。
- 调用包装类方法 xxxValue:
- 基本数据类型到包装类:装箱。
- 基本数据类型与 String 类之间:
- 基本数据类型到 String 类:
- String 类的 valueOf 方法:
String s = String.valueOf(1.123f)
。 - 直接与空字符串拼接:
String s = 6 + ""
。
- String 类的 valueOf 方法:
- String 类到基本数据类型:
- 调用相应包装类的 parseXxx 静态方法:
int num = Integer.parseInt("10")
。 - 通过包装类构造器:
boolean b = new Boolean("true")
。
- 调用相应包装类的 parseXxx 静态方法:
- 基本数据类型到 String 类:
- 包装类与 String 类之间:
- 包装类到 String 类:
- 包装类对象的 toString 方法。
- 调用包装类的 toString(形参) 方法。
- String 类到包装类:
- 通过字符串参数的装箱:
Float f = new Float("3.1415")
。
- 通过字符串参数的装箱:
- 包装类到 String 类:
1
2
3
4
5
6
7 Integer m = 1;
Integer n = 1;
System.out.println(m == n); // true
Integer x = 128;
Integer y = 1128;
System.out.println(x == y); // falseInteger 内部定义了 IntegerCache 静态常量池,IntegerCache 中定义了
Integer[]
保存了从 -128 到 127 范围内的整数。如果使用自动装箱的方式,给 Integer 赋值的范围在 -128 到 127 时,可以直接使用 IntegerCache 中的元素,不用再 new 了(为了提高效率)。