不应该是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);
}
}
答案 0 :(得分:1)
在Java中,byte
是一个8位签名的整数。这意味着它可以取十进制-128到十进制+127的值。
当您说字节格式时,您可能意味着从0到255的无符号值。如果您想使用byte b
作为无符号值,则应使用{{1} }。
如果您尝试做的是将字节打印为双字符十六进制字符串,则应使用
b & 0xff
答案 1 :(得分:0)
Java中的字节值是-128到127. -126是有效的字节值。