就是把取到的第i个参数强制转换成Integer类型。

解决方案 »

  1.   

    来一个例子来说明:Map m = new HashMap();m.put("aa","aa1");
    m.put("bb","bb1");
    m.put("cc","cc1");System.out.println(m.get("aa")); -------->aa1你的那代码的意思是:
        在HashMap中得到输入的主键对应的值且转换为数字
      

  2.   

    args[i]表示输入的第i个参数,(Integer)m.get(args[i])是把通过m取到的第i个参数并强制转换为Integer类型,然后在赋值给freq(也是Integer类型),不知道楼上理解没有?
      

  3.   

    因为Map.get返回的是Object而你放进去的是Integer,而且也想取出的也是Integer,所以必须cast
      

  4.   

    让俺来理解一下。
    Integer freq = (Integer) m.get(args[i]);
    是求出在m中与args[i]对应的数值是多少。
    在这个例子中,freq实际上代表了在参数表args[i]已经出现的次数。
    如果在m中并不存在args[i],那么这里返回的就是null,否则,返回出现的次数。至于args[i]的意义和为什么需要转型,楼上的讲得很清楚了。你可以自己来调试一下你的程序来了解具体的过程。
    对于Map不清楚的地方可以查jdk的文档
    =============
    原来一切就是这么简单