Byte字节对象—构造方法
java.lang包中的byte类将基本类型byte包装在一个对象中。一个Byte类型的对象只包含一个类型为byte的字段。该类中提供了处理byte时非常有用的其他一些常用常量和方法。
Byte类的构造方法
构造方法 | 使用说明 |
---|---|
Byte(byte value) | 构造一个表示指定的byte值的Byte对象 |
Byte(String str) | 构造一个表示String参数所指示的byte值的Byte对象 |
Byte(byte b)
接受一个byte类型的参数,并创建一个Byte对象,其值为传入的byte值。
Byte byteObject = new Byte(10);
System.out.println(byteObject); // 输出 10
Byte(String s)
接受一个字符串String参数,并尝试将其解析为byte值。字符串必须表示一个有效的byte基本类型范围内的整数。如果字符串表示的数值超出了byte类型的范围(-128到127),则会抛出NumberFormatException。
Byte byteObject = new Byte("100");
System.out.println(byteObject); // 输出 100
如果传入的字符串是‘true’或‘false’(不区分大小写),则此构造方法会抛出NumberFormatException。
public static void main(String[] args) {
byte b = 26;
Byte b0 = new Byte(b);
Byte b1 = new Byte("1");
Byte b2 = new Byte("-2");
Byte b3 = new Byte("100");
System.out.println(b0);
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
}
26
1
-2
100
1
-2
100
下面这几种情况不能得到正确的结果:
public static void main(String[] args) {
Byte b1 = new Byte("true"); //java.lang.NumberFormatException
Byte b2 = new Byte("200"); //java.lang.NumberFormatException: Value out of range
Byte b3 = new Byte(""); //java.lang.NumberFormatException: For input string: ""
}
需要注意的是,自从Java 9开始,Byte类中的构造方法被标记为过时(deprecated),这意味着在未来的Java版本中可能会移除这些构造方法。因此,官方推荐使用Byte.valueOf(byte)
或Byte.parseByte(String)
方法来代替构造方法,以避免潜在的弃用风险。