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

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

querySpecimenByItemId(Map<?,?> map);

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

List<Object> list;
list中有三个字段,序号(NO),名称(NAME),类型(TYPE)。
现在按照类型进行分组有什么简单的方式么?
目前我的想法是通过map得到list的所有类型作为keySet,
然后双层循环比较list的类型与map的key值。
但是效率比较低下,不清楚有什么好的方式没有。
阅读 5.6k
2 个回答
  1. 缺点就是不开debugger的话,根本不知道这个map里面放了什么参数,导致维护这段代码的人骂WTF的次数呈指数级上升;

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

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

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);
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题