[英]why does the following code prints a byte as an integer?
address.getAddress())[2])不应以0-1或字节格式打印,因为它本身就是一个字节。 为什么打印-126?
public static void main(String s[]) {
try {
String arg="www.google.com";
InetAddress address = InetAddress.getByName(arg);
System.out.println("Address: " + (address.getAddress())[2]));
} catch (UnknownHostException exc) {
System.out.println(exc);
}
}
在Java中, byte
是8位有符号整数。 这意味着它可以接受从十进制-128到十进制+127的值。
当说字节格式时 ,可能表示0到255之间的无符号值。如果要将byte b
用作无符号值,则应使用b & 0xff
。
如果您要执行的操作是将字节打印为两个字符的十六进制字符串,则应使用
String.format("%02X", b)
Java中的字节值从-128到127。-126是有效字节值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.