TL で Enumeration が使いづらいというツイートが流れてたら、鮮やかに解決するツイートも流れてきた。
なるほどなー、これ実際にはそのままダイレクトには書けないですけど、明示的にキャストしてあげれば書けますね
for (String name : (Iterable<String>) request.getHeaderNames()::asIterator) {
...
}https://twitter.com/RayStark77/status/1199946177656963075 …
がくぞさんの他のツイートを見る
Enumeration<String> enumeration = ...;
Iterable<String> iterable = enumeration::asIterator;
asIterator というメソッドが Java9 から生えていたらしい。
残念なことに 拡張 for 文のソースの部分では推論がうまくできないため、コンパイルエラーになる
for (String s: enumeration::asIterator) { System.out.println(s); }
