我有以下两种方法:
@Override
public void done(E e, Map.Entry<String, T> m) {
}
@Override
public void done(E e, String k, T v) {
this.done(e, null);
}
代替传递null,如何创建新的Map.Entry?我尝试过:
this.done(e, Map.of(k,v));
但是会创建一个Map而不是Map.Entry。
答案 0 :(得分:7)
在Java 9+中,您可以将Map.entry
用作:
static <E, T> void done(E e, Map.Entry<String, T> m) {
// do something
}
// using immutable entry
static <E, T> void done(E e, String k, T v) {
done(e, Map.entry(k, v));
}
// using mutable entry
static <E, T> void done(E e, String k, T v) {
done(e, new AbstractMap.SimpleEntry<>(k, v));
}