避免Hutool工具包MapUtil.of方法中两个Pair参数的歧义调用
今天在使用hutool工具包里面的MapUtil类的of方法发现,返回的map里面key和value是Pair类,而不是具体的值。
原本想调用的是of(Pair<K, V>... pairs)方法,里面可以传多个Pair类。

原本的代码片段:
MapUtil.of(
                Pair.of("6", "xxx"),
                Pair.of("19", MapUtil.of(Pair.of("D", "编号x"), Pair.of("I", "编号xx"))),
                Pair.of("16", "xxx")
        )
结果得到的是:{16=xxx, 6=xxx, 19={Pair [key=D, value=编号x]=Pair [key=I, value=编号xx]}},key为19的值有问题
最后发现,MapUtil.of(Pair.of("D", "编号x"), Pair.of("I", "编号xx"))实际是调用了MapUtil类中的另外一个of方法,MapUtil.of方法的形参数量是两个Pair的时候,不是调用of(Pair<K, V>... pairs)方法,而是调用of(K key, V value)方法,所以就导致map的key和value都是Pair类。

解决办法就是避免传入两个Pair形参,或者其中一个Pair多放一次
例如:
MapUtil.of(Pair.of("D", "编号x"), Pair.of("I", "编号xx"), Pair.of("I", "编号xx"))
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号