为字节赋值

Lal*_*and 0 java byte wrapper

这两者有什么区别

Byte i1=new Byte(1);//complier error
byte b=1;//ok
Run Code Online (Sandbox Code Playgroud)

我的问题是将值1分配给byte,其中1是int literal.但是当将1传递给Byte类构造函数时,它会给出错误

jos*_*efx 7

值1是整数类型的文字.所以你有以下几种情况:

  • 将文字直接分配给类型的变量byte将导致隐式转换,因为很明显程序员想要一个字节而不是一个int.

  • 所述Byte构造函数需要一个byte值,编译器会抱怨,因为它不能对方法或构造函数参数的隐式转换.