次のプログラムは、ノードのMACアドレスを出力するためのものです。しかし、それは空白を印刷します。nullをチェックしましたが、nullではありません。なぜ空白のMACアドレスを取得するのですか?私はどのような間違いを犯していますか?
import java.net.InetAddress;
import java.net.NetworkInterface;
class Tester {
public static void main(String args[]) {
try {
InetAddress address = InetAddress.getByName("localhost");
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte mac[] = ni.getHardwareAddress();
if(mac == null) {
System.out.println("Mac address is null");
} else {
System.out.println("Else block!");
String macAdd = new String(mac);
System.out.println(macAdd);
}
} catch(Exception exc) {
exc.printStackTrace();
}
}
}
注: mac == null
はfalseです。