日期:2014-05-19  浏览次数:20735 次

这段代码看不懂,帮忙看看咯
HashMap busmap=new HashMap();
  busmap.put("P0000", "无标准套餐");
  busmap.put("P0001", "冲浪助手");

  Map m = null;
  m.put("T0001", "1");
 
  Set setkey = busmap.keySet();
  for (Iterator iter = setkey.iterator(); iter.hasNext();) {
  String k = (String) iter.next();

  r1 = m.containsKey(k) ? Boolean.TRUE : Boolean.FALSE;

  request.setAttribute("Open" + k, r1);
  }

------解决方案--------------------
HashMap busmap=new HashMap();//定义hashMap对象
busmap.put("P0000", "无标准套餐");//往hashMap里面放值
busmap.put("P0001", "冲浪助手");

Map m = null;
m.put("T0001", "1");//这个有点蛋疼啊,上面m=null,这里不会报空指针吗?
  
Set setkey = busmap.keySet();//这个是获取上面HashMap的键集
for (Iterator iter = setkey.iterator(); iter.hasNext();) {//遍历HashMap的键
String k = (String) iter.next();//获取当前HashMap的键

r1 = m.containsKey(k) ? Boolean.TRUE : Boolean.FALSE;//判断m这个Map里面有没有HashMap的这个键,如果有了r1=true,如果没有r1=false;

request.setAttribute("Open" + k, r1);//这个不用解释了吧
}