创建Byte对象,报错:Exception in thread “main” java.lang.NumberFormatException: Value out of range. Value:”128″ Radix:10

在使用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之间,所以我代码这里使用超过这个正负值范围是,就会报上面的错。

解决办法:构造方法参数正确赋值即可。