我在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/

10-09 04:07