Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类的对象只包含一个类型为 boolean 的字段。此外,此类还为 boolean 和 String 的相互转换提供了很多方法,并提供了处理 boolean 时非常有用的其他一些常用方法。
Boolean 类有以下两种构造形式:
其中 boolValue 必须是 true 或 false(不区分大小写),boolString 包含字符串 true(不区分大小写),那么新的 Boolean 对象将包含 true;否则将包含 false。
在 Boolean 类内部包含了一些和 Boolean 操作有关的方法,见表 1。
方法 | 返回值 | 功能 |
---|---|---|
booleanValue() | boolean | 将 Boolean 对象的值以对应的 boolean 值返回 |
equals(Object obj) | boolean | 判断调用该方法的对象与 obj 是否相等。当且仅当参数不是 null,且与调用该 方法的对象一样都表示同一个 boolean 值的 Boolean 对象时,才返回 true |
parseBoolean(String s) | boolean | 将字符串参数解析为 boolean 值 |
toString() | string | 返回表示该 boolean 值的 String 对象 |
valueOf(String s) | boolean | 返回一个用指定的字符串表示的 boolean 值 |
编写一个 java 程序,演示如何使用不同的构造方法创建 Boolean 对象,并调用 booleanValue() 主法将创建的对象重新转换为 boolean 数据输出。代码如下:
程序非常简单,运行后的输出结果如下:
b1 转换为 boolean 值是:true b2 转换为 boolean 值是:false b3 转换为 boolean 值是:true
在 Boolean 类中包含了很多的常量,其中较为常用的常量如下。
Character 类是字符数据类型 char 的包装类。Character 类的对象包含类型为 char 的单个字段,这样能把基本数据类型当对象来处理,其常用方法如表 1 所示。
方法 | 描述 |
---|---|
void Character(char value) | 构造一个新分配的 Character 对象,用以表示指定的 char 值 |
char charValue() | 返回此 Character 对象的值,此对象表示基本 char 值 |
int compareTo(Character anotherCharacter) | 根据数字比较两个 Character 对象 |
boolean equals(Character anotherCharacter) | 将此对象与指定对象比较,当且仅当参数不是 null,而 是一个与此对象 包含相同 char 值的 Character 对象时, 结果才是 true |
boolean isDigit(char ch) | 确定指定字符是否为数字,如果通过 Character. getType(ch) 提供的字 符的常规类别类型为 DECIMAL_DIGIT_NUMBER,则字符为数字 |
boolean isLetter(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母 |
boolean isLetterOrDigit(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母或数字 |
boolean isLowerCase(char ch) | 确定指定字符是否为小写字母 |
boolean isUpperCase(char ch) | 确定指定字符是否为大写字母 |
char toLowerCase(char ch) | 使用来自 UnicodeData 文件的大小写映射信息将字符参数转换为小写 |
char toUpperCase(char ch) | 使用来自 UnicodeData 文件的大小写映射信息将字符参数转换为大写 |
可以从 char 值中创建一个 Character 对象。例如,下列语句为字符 S 创建了一个 Character 对象。
CompareTo() 方法将这个字符与其他字符比较,并且返回一个整型数组,这个值是两个字符比较后的标准代码差值。当且仅当两个字符相同时,equals() 方法的返回值才为 true。如下面的代码:
在注册会员时,需要验证用户输入的用户名、密码、性别、年龄和邮箱地址等信息是否符合标准,如果符合标准方可进行注册。那么,下面就使用 Character 类中的一些静态方法来完成这个程序,具体的实现步骤如下。
1)创建 Register 类,在该类中创建 validateUser() 方法,对用户输入的用户名、密码和年龄进行验证,代码如下:
在 validateUser() 方法中,使用 for 循环遍历用户输入的用户名、密码和年龄,对其每个字符进行验证,判断其是否符合要求。在验证的过程中,分别使用了 Character 类的 isLetter() 方法、isLetterOrDigit() 方法和 isDigit() 方法。
2)编写测试类 Test04,调用 Register 类中的 validateUser() 方法,对用户输入的数据进行验证,并输出验证结果,代码如下:
在 main() 方法中,通过调用 Register 类的 validateUser() 方法,获取一个 boolean 类型的变量,即表明是否验证通过。当变量值为 true 时,表示验证通过,输出注册成功的提示信息;否则表示验证未通过,输出注册失败的提示信息。
运行该程序,当注册的用户名并非全部由字母组成时,提示“用户名只能由字母组成, 且不能含有空格!”信息,如下所示。
------------用户注册-------------- 用户名: tg_xiake 密码: xiake 年龄: 123 用户名只能由字母组成,且不能含有空格! 注册失败!
当注册的年龄并非只有数字组成时,则提示“年龄输入有误!”,如下所示。
------------用户注册-------------- 用户名: admin 密码: admin 年龄: 123a 年龄输入有误! 注册失败!
当注册的密码并非只由数字或字母组成时,提示“密码只能由数字或字母组成!”,如下所示。
------------用户注册-------------- 用户名: admin 密码: admin! 年龄: 25 密码只能由数字或字母组成! 注册失败!
如果注册的用户名、密码和年龄都通过验证,则输出“注册成功!”,如下所示。
------------用户注册-------------- 用户名: admin 密码: admin 年龄: 123 注册成功!
Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。
Number 类定义了一些抽象方法,以各种不同数字格式返回对象的值。如 xxxValue() 方法,它将 Number 对象转换为 xxx 数据类型的值并返回。这些方法如下表所示:
方法 | 说明 |
---|---|
byte byteValue(); | 返回 byte 类型的值 |
double doubleValue(); | 返回 double 类型的值 |
float floatValue(); | 返回 float 类型的值 |
int intValue(); | 返回 int 类型的值 |
long longValue(); | 返回 long 类型的值 |
short shortValue(); | 返回 short 类型的值 |
抽象类不能直接实例化,而是必须实例化其具体的子类。如下代码演示了 Number 类的使用:
执行上述代码,输出结果如下:
返回 double 类型的值:12.5 返回 int 类型的值:12 返回 float 类型的值:12.5