private long longSum(Map<String, Long> valMap) {
if(valMap == null) return 0L;
long returnVal = 0L;
Collection<Long> vals = valMap.values();
for (Long val : vals) {
returnVal += val;
}
return returnVal;
}
private long doubleSum(Map<String, Long> valMap) {
if(valMap == null) return 0L;
long returnVal = 0L;
Collection<Long> vals = valMap.values();
for (Long val : vals) {
returnVal += val;
}
return returnVal;
}上面的代码有什么可以改进的? 或者有什么第三方工具类? 如果是一种不同的数据类型,比如int,double,long,需要写不同的算数方法,觉得这样怪怪的,如果和抽象一下?
if(valMap == null) return 0L;
long returnVal = 0L;
Collection<Long> vals = valMap.values();
for (Long val : vals) {
returnVal += val;
}
return returnVal;
}
private long doubleSum(Map<String, Long> valMap) {
if(valMap == null) return 0L;
long returnVal = 0L;
Collection<Long> vals = valMap.values();
for (Long val : vals) {
returnVal += val;
}
return returnVal;
}上面的代码有什么可以改进的? 或者有什么第三方工具类? 如果是一种不同的数据类型,比如int,double,long,需要写不同的算数方法,觉得这样怪怪的,如果和抽象一下?
解决方案 »
- spring与hibernate整合时Action中出现空指针,急呀!!
- jsp 中在父页面打开的showModalDialog 点击关闭后自己又打开一次怎么回事啊
- weblogic用autodeploy部署不了工程,急!!!
- 用java如何获取对MS Server2005刚刚插入数据的ID值?
- 想用mina实现嵌入网叶客服聊天的功能,高手指点指点,我没有分可给了
- eclipse+axis2 生成客户服务端错误
- 关于sturts2中web.xml的新手问题
- 请教个关于使用JFreeChart建立柱状图的问题
- 关于File的delete功能(能解决加分)
- 我需要根据用户登录身份的不同,在首页上显示不同按钮。
- 前后端分离的架构,如何保障api的安全?
- struts2的xml校验和动态方法调用问题
public static void main(String[] args) {
Map<String, Integer> map1 = new HashMap<>();
map1.put("a1", 1);
map1.put("a2", 4);
map1.put("a3", 5); Map<String, Double> map2 = new HashMap<>();
map2.put("a1", 5.5);
map2.put("a2", 6.4);
map2.put("a3", 8.1); Map<String, Long> map3 = new HashMap<>();
map3.put("a1", 5L);
map3.put("a2", 6L);
map3.put("a3", 19L); double sum1 = sum(map1);
double sum2 = sum(map2);
double sum3 = sum(map3); System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
} private static double sum(Map<String, ?> valMap) {
if (valMap == null || valMap.isEmpty()) {
return 0;
}
double returnVal = 0;
for (Object val : valMap.values()) {
if (val == null) {
continue;
}
returnVal += Double.valueOf(val.toString());
}
return returnVal;
}