package hubeiershi3;import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;public class RandomSortTest
{
       public static void main(String[] args)
{
           Map map = new TreeMap();
        Random random = new Random();
          
          
          for(int i = 0; i < 50; i++)
          {
           int number = random.nextInt(41) + 10;//随机生成50个【10,50】之间的整数
           
           Integer in = new Integer(number);
           
           if(map.get(in) == null)
           {
           map.put(in, new Integer[1]); 
           }
           else
           {
                    /*将在map中出现过的key值映射的value值取出拆箱为整数 (编译后报错就是这一行)*/
           int value = ((Integer)(map.get(in))).intValue();
                    
           map.put(in, new Integer(value + 1)); /*将value值加1封装后放入map中*/
           }
          }
          Set set = map.entrySet();
          for(Iterator iter = set.iterator(); iter.hasNext();)
          {
           Map.Entry entry = (Map.Entry)iter.next();
           
           Integer key = (Integer)entry.getKey();
           Integer valu = (Integer)entry.getValue();
           
           System.out.println(key + ":" +valu);
          }
}
}
报错:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Integer; cannot be cast to java.lang.Integer
at hubeiershi3.RandomSortTest.main(RandomSortTest.java:29)另外想问一句 让eclipse显示行号的快捷键是什么?谢谢大神了,祝你身体健康!工作顺利!

解决方案 »

  1.   

    帮你顶哈,我也没看懂,反正就是不能转换为Integer
      

  2.   

     if(map.get(in) == null)
      {
      map.put(in, new Integer[1]); 
      }这里中括号是什么意思。
      

  3.   

    这句话的意思是说判断map中in所映射的value存不存在,如果不存在就将in作为键名,1的封装类作为键值放入到map中
      

  4.   

    类型转换错误
    右击Eclipse-》show line num可以打一行号
      

  5.   


    我是说你创建封装类new Integer[1],有中括号这么语法么。
      

  6.   

    你要new对象也是小括号啊,把小括号去掉应该就可以了
      

  7.   

    ctrl + f10
    ClassCastException是JVM在检测到两个范例间转换不兼容时激发的运行时非常。intValue是输出int数据。
      

  8.   

    new Integer[1]创建了长度为1的数组,内容是[null]
      

  9.   

    Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Integer; cannot be cast to java.lang.Integer
    提示的是把不能把Integer数组转成Integer.