我在Windows机器上有以下代码:
for(Enumeration enm = NetworkInterface.getNetworkInterfaces(); enm.hasMoreElements();){
NetworkInterface network = (NetworkInterface) enm.nextElement();
if(null != network.getHardwareAddress()){
return EthernetAddress.valueOf(network.getHardwareAddress());
}
}
失败是因为network.getHardwareAddress()返回一个空字节数组,而不是如Networkdocs的javadocs中所述返回null。有谁知道为什么会这样?
最佳答案
我这样做了,发现环回(首先终止)没有mac地址。
我的猜测是null
用于操作系统返回MAC不可用时。但是,它可能已返回空数据。
在Linux上,它没有显示回送。
关于java - 为什么Java NetworkInterface.getHardwareAddress在Windows上返回空字节数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5485526/