我在java中有一个int变量,其值小于256.所以我可以将它存储在单字节变量中。
我执行了以下代码。
int i =247;
byte b = (byte) i ;
但是当我打印它时,
System.out.println(" i = "+(int)b);
输出 i = -9
是否可以将小于256的int值转换为单字节变量。 PLS。帮助..
答案 0 :(得分:4)
这不会起作用。 MAX_VALUE
的{{1}}为127,因为字节是用Java签名的。 (因此,byte
是-128。这是典型的Two's Compliment模式。)
话虽如此,你还有几个选择:
MIN_VALUE
。