当前页面: 开发资料首页 → J2SE 专题 → Byte b = new Byte(12);//此句的错误是...?
Byte b = new Byte(12);//此句的错误是...?
摘要: Byte b = new Byte(12);//此句的错误是...?
下面的写法:
Byte b = new Byte(12);//错误!
byte b=12;//合法!!
Byte b = new Byte((byte)12);//正确.
为什么啊?!
因为Byte的构造函数是:Byte(byte)而不是Byte(int)
int的取值范围毕byte要大啊,所以就不能这样定义了。
看看Byte的构造函数 它用什么参数 你就得用什么参数
lz的基础不是很扎实呀!!
楼上几位说的,不是我本想问的.
Byte b = new Byte(12);//错误!
byte b=12;//合法!!
关键是上面的两个.
mark
楼上几位说的是正确的,
Byte b = new Byte(12);//错误是因为JAVA将12作为整形数来处理,而Byte的构造方法要求带一个byte型的数字进去,故而出错。
byte b = 12 ; //合法是因为其中隐含了一个类型转换,如果你试试下面的代码应该会有点体会
short s1 = 1 ;
short s2 = 2 ;
short s3 = s1 + s2 ;//这里会出错,因为JAVA在进行运算的时候会把s1和s2转换为int型,然后赋值给short型的s3的时候就会出错。
Byte b = new Byte((byte)12);//正确。如果你还不明白我真没办法解释了……
byte 像int类型一样是一个基本的数据类型就不用new来初始化..
Byte是一个类..声明对象用new和一个初始值..