创建新的 Map.Entry - 似乎比需要的更难
Create new Map.Entry - seems harder than it needs to be
我有这两个方法:
@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);
}
如何创建一个新的 Map.Entry,而不是传递 null?我试过了:
this.done(e, Map.of(k,v));
但这创建的地图不是 Map.Entry。
使用 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));
}
我有这两个方法:
@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);
}
如何创建一个新的 Map.Entry,而不是传递 null?我试过了:
this.done(e, Map.of(k,v));
但这创建的地图不是 Map.Entry。
使用 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));
}