使用
Supplier而不是
Class:
public MapBuilder(Supplier<? extends Map<K, V>> supplier) { map = supplier.get();}然后可以这样称呼它:
MapBuilder<Integer, Integer> builder = new MapBuilder<>(linkedHashMap::new);
这也更安全,因为a
Class<Map>可能没有默认构造函数,这将引发错误(代码响应性不强)

使用
Supplier而不是
Class:
public MapBuilder(Supplier<? extends Map<K, V>> supplier) { map = supplier.get();}然后可以这样称呼它:
MapBuilder<Integer, Integer> builder = new MapBuilder<>(linkedHashMap::new);
这也更安全,因为a
Class<Map>可能没有默认构造函数,这将引发错误(代码响应性不强)