站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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和一个初始值..



↑返回目录
前一篇: 关于 手机垃圾信息屏蔽软件设计
后一篇: 紧急求助,有分,在线等,过了今天就没分了哈