您实际上在谈论的是整数 文字 (
1)与长 文字 (
1L)。实际上,在Java中没有短或字节字面量。但它 通常
并不重要,因为从整数常量的类型的隐式转换
byte,
short和
char。从而:
final byte one = 1; // no typecast required.
仅当文字在所需范围内时,才允许隐式转换。如果不是,则需要类型转换。例如
final byte minusOne = (byte) 255; // the true range of byte is -128 .. +127
在其他情况下,需要显式转换;例如,消除方法重载的歧义,或在表达式中强制执行特定的解释。在这种情况下,您需要使用强制转换进行转换。
您的示例是其中的另一种情况。
但最重要的是,没有用于表达
byte或
short文字的Java语法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)