Enumerationを拡張for文で使う
たまに、Java の Enumeration を使ったサンプルを見かけることがありますが、その大半が Iterator と同じようなアクセスの仕方をしています。
NetworkInterface nic = NetworkInterface.getByName("eth0"); Enumeration<InetAddress> nicAddress = nic.getInetAddresses(); while(nicAddress.hasMoreElements()){ InetAddress address = nicAddress.nextElement(); (以下省略)
でも、ちょっと工夫して拡張 for 文を使った方が見やすいです。
NetworkInterface nic = NetworkInterface.getByName("eth0"); for(InetAddress address : Collections.list(nic.getInetAddresses())){ (以下省略)
Enumeration は 拡張 for 文で使えませんが、List なら OK です。
そこで、Collections.list(…) を使って、Enumeration を ArrayList に変換してみました。
オーバーヘッドがあるかもしれません*1が、こっちのほうが分かりやすいので好きです。