每当我使用byte或short数据类型作为方法参数时,在方法调用上,我需要显式地转换我传递给这些方法的值。
为了更好地解释:
void foo(short x)
{}
void main() {foo((short)32);}
如果我在此处不使用短片,则会生成警告。
method foo in class px cannot be applied to given types
required: byte
found: int
我怎样才能让它变得更好?
答案 0 :(得分:4)
没有出路。
Java没有办法对byte
或short
文字进行编码。任何数字文字都是int
值,将int转换为short而不进行强制转换会始终产生警告。
答案 1 :(得分:3)
整数文字隐式具有int
类型,从int
转换为byte
或short
可能会丢失信息,因此需要显式转换。
所以除非你真的需要,否则不要使用byte
或short
,这种情况很少见。