字节对象 Byte 与其他类型转换
在Java中,Byte类提供了多种方法来转换Byte对象为其他数值类型,以及将字符串解析为byte值。
doubleValue()方法 获取double值
返回Byte对象表示的数值,转换为double类型。
✍方法声明
public double doubleValue();
- 🪐返回值:转换为double类型后该对象表示的数值。
public static void main(String[] args) {
Byte b1 = new Byte("123");
double value = b1.doubleValue();
System.out.println(value);
}
floatValue()方法 获取float值
以float类型返回该Byte的值。
✍方法声明
public float floatValue();
- 🪐返回值:转换为float类型后该对象表示的数值。
public static void main(String[] args) {
Byte b1 = Byte.valueOf("123");
float value = b1.floatValue();
System.out.println(value);
}
intValue() 方法 获取int值
该方法作为一个int返回此Byte的值。
✍方法声明
public int intValue();
- 🪐返回值:转换为int类型后该对象表示的数值。
public static void main(String[] args) {
Byte b1 = new Byte("123");
int value = b1.intValue();
System.out.println(value);
}
longValue() 方法 获取long值
以Long类型返回该Byte的值。
✍方法声明
public long longValue();
- 🪐返回值:转换为long类型后该对象表示的数值。
public static void main(String[] args) {
Byte b1 = new Byte("123");
long value = b1.longValue();
System.out.println(value);
}
shortValue() 方法 获取short值
以short类型返回该Byte的值。
✍方法声明
public short shortValue();
- 🪐返回值:转换为short类型后该对象表示的数值
public static void main(String[] args) {
Byte b1 = new Byte("123");
short value = b1.shortValue();
System.out.println(value);
}
parseByte()方法 将字符串解析为byte值
将string参数解析为有符号的十进制byte。除了第一个字符可以是表示负值的ASCI负号‘-’(\u002D
)之外,该字符串中的字符必须都是十进制数字。
✍方法声明
public static byte parseByte(String s)throws NumberFormatException;
- 📥入参:s为要解析的包含byte表示形式的String。
- 🪐返回值:以十进制的参数表示的byte值。
- 🐛抛出异常NumberFormatException:如果该string不包含一个可解析的byte。
public static void main(String[] args) {
byte bt1 = Byte.parseByte("23");
byte bt2 = Byte.parseByte("023");
byte bt3 = Byte.parseByte("-12");
System.out.println(bt1);
System.out.println(bt2);
System.out.println(bt3);
}
23
-12
如果传入无法解析的内容,会抛出异常:
public static void main(String[] args) {
byte b = Byte.parseByte(""); //java.lang.NumberFormatException: For input string: ""
byte b1 = Byte.parseByte("1F"); //java.lang.NumberFormatException: For input string: "1F"
byte b2 = Byte.parseByte("234");//java.lang.NumberFormatException: Value out of range. Value:"234"
}
✍方法声明
将string参数解析为一个有符号的byte,其基数由第二个参数指定。
public static byte parseByte(String s,int radix)throws NumberFormatException;
- 📥入参
- S:要解析的包含byte表示形式的String。
- radix:解析s时使用的基数。
- 🪐返回值:以指定基数表示的string参数所表示的byte值。
- 🐛抛出异常NumberFormatException:如果该string不包含一个可解析的byte。
public static void main(String[] args) {
byte bt1 = Byte.parseByte("110", 2);
byte bt2 = Byte.parseByte("123", 8);
byte bt3 = Byte.parseByte("1F", 16);
System.out.println(bt1);
System.out.println(bt2);
System.out.println(bt3);
}
83
31
📝总结
Byte类提供了多种方法来转换Byte对象为其他数值类型,这些方法对于在不同数值类型之间转换非常有用。
在将字符串解析为byte值时,可以使用parseByte()方法,它允许以十进制解析字符串,或者使用parseByte(String s, int radix)方法,它允许使用指定的基数来解析字符串。
在使用这些方法时,应注意传入的字符串是否为有效的数值表示,以及是否在byte类型的范围内,以避免NumberFormatException的抛出。