首页 > Map<?,?>作为参数有什么缺点吗?对于数组的分组大家有什么好的方法或者建议?

Map<?,?>作为参数有什么缺点吗?对于数组的分组大家有什么好的方法或者建议?

1、Map<?,?>作为参数有什么缺点吗?

querySpecimenByItemId(Map<?,?> map);

2、对于数组的分组大家有什么好的方法或者建议?

List<Object> list;
list中有三个字段,序号(NO),名称(NAME),类型(TYPE)。
现在按照类型进行分组有什么简单的方式么?
目前我的想法是通过map得到list的所有类型作为keySet,
然后双层循环比较list的类型与map的key值。
但是效率比较低下,不清楚有什么好的方式没有。

1.Map<?,?> 没有指定类型,这是泛型的基本概念。没有对存入的数据类型进行校验,即使在编译时通过,运行时可能会出错。
2.list中的对象有三个属性,可以遍历一次list,分别存入三个map中。

Map<String,Boolean> map = new HashMap<String,Boolean>();
for (Object obj : list) {
    if (null !=map.get(obj.getType())) {
        continue;
    } else {
        map.put(obj.getType(), true);
    }
}
for(Object obj : list) {
    if (null != map.get(obj.getType())) {
        if (map.get(obj.getType())) {
            //存
        } else {
            List<Object> list = new ArrayList<Object>();
        }
    } else {
        map.put(obj.getType(),true);
    }
}

  1. 缺点就是不开debugger的话,根本不知道这个map里面放了什么参数,导致维护这段代码的人骂WTF的次数呈指数级上升;

  2. 没太看懂,感觉跟1也是差不多意思;

所以,定义一个结构清晰的java bean不好吗?这样就能避免你所提到的这些问题了。

【热门文章】
【热门文章】