黑马程序员技术交流社区

标题: 【暂解决】Integer中过大的整数问题 [打印本页]

作者: 黄玉昆    时间: 2013-2-25 17:48
标题: 【暂解决】Integer中过大的整数问题
本帖最后由 黄玉昆 于 2013-2-26 13:08 编辑

今天在练习HashMap集合的时候,定义为Integer泛型类,结果却出现了过大整数的问题,可是这个数才两位,还没超过10呢,怎么就过大了呢?
有图却不知真相:
  1. class IntMDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //创建新集合,并添加元素
  6.                 Map<Integer,String> m = new HashMap<Integer,String>();
  7.                 m.put(7,"zann");
  8.                 m.put(09,"hewi");
  9.                 m.put(13,"wangfei");
  10.                 m.put(14,"huxi");
  11.                 m.put(10,"anch");
  12.                 System.out.println(m);
  13.         }
  14. }
复制代码
这是肿么情况,请知道的解答一下,谢谢
应该是没有09这个数值,所以,编译器才会报数值过的的错误。

过大整数.PNG (2.01 KB, 下载次数: 65)

过大整数.PNG

作者: 罗海云    时间: 2013-2-25 17:59
09好像不是整数吧.. 好像是8进制数了....不知道对不对
作者: 黑马刘杰    时间: 2013-2-25 18:14
0开头的是八进制,八进制中没有9
作者: 黄玉昆    时间: 2013-2-25 18:16
黑马刘杰 发表于 2013-2-25 18:14
0开头的是八进制,八进制中没有9

那这个09到底是不是数呢?
作者: 黑马刘杰    时间: 2013-2-25 18:28
黄玉昆 发表于 2013-2-25 18:16
那这个09到底是不是数呢?

不是,八进制中只有八个数,0~7
作者: 何伟    时间: 2013-2-25 19:52
在java里  09和9是有区别的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2