builder for HashMap

前端 未结 15 2277
迷失自我
迷失自我 2020-11-30 00:17

Guava provides us with great factory methods for Java types, such as Maps.newHashMap().

But are there also builders for java Maps?

HashM         


        
15条回答
  •  南笙
    南笙 (楼主)
    2020-11-30 00:52

    This is something I always wanted, especially while setting up test fixtures. Finally, I decided to write a simple fluent builder of my own that could build any Map implementation - https://gist.github.com/samshu/b471f5a2925fa9d9b718795d8bbdfe42#file-mapbuilder-java

        /**
         * @param mapClass Any {@link Map} implementation type. e.g., HashMap.class
         */
        public static  MapBuilder builder(@SuppressWarnings("rawtypes") Class mapClass)
                throws InstantiationException,
                IllegalAccessException {
            return new MapBuilder(mapClass);
        }
    
        public MapBuilder put(K key, V value) {
            map.put(key, value);
            return this;
        }
    
        public Map build() {
            return map;
        }
    

提交回复
热议问题