在使用Byte构造方法创建一个Byte对象时,报错如下:
Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"128" Radix:10
at java.lang.Byte.parseByte(Byte.java:151)
at java.lang.Byte.<init>(Byte.java:316)
at com.itzhimei.ByteTest_1.main(ByteTest_1.java:7)
代码:
public class ByteTest_1 {
public static void main(String[] args) {
System.out.println("Min:" + Byte.MIN_VALUE + ",Max:" + Byte.MAX_VALUE);
Byte b1 = new Byte("128");
System.out.println(b1);
}
}
问题原因:
一个Byte类型的值的范围:Min:-128,Max:127,因为byte只有一个字节的存储空间,且是有符号的,所以大家可以自己算一下,其取值就是-128到127之间,所以我代码这里使用超过这个正负值范围是,就会报上面的错。
解决办法:构造方法参数正确赋值即可。