请问怎么样实现一个方法来判断一个Integer对象中的数据是半角数字.

解决方案 »

  1.   

    没看懂, 你的Integer中存的是什么?
      

  2.   

    哪个Integer?!
    不会是your.newjava.lang.Integer吧
      

  3.   

    上面的那些人不要乱说,你们自己测试一下就知道了。全角的数字可以构造成Integer的。
      

  4.   

    我试过了,Integer中没有全角数字!
    Integer num = new Integer("22");
    num.toString()时,还是半角数字。
      

  5.   

    如果Integer能用全角的话,我觉得会抛异常的.
    肯定是系统自动转码了.
      

  6.   

    我没必要试,Integer封装的是int,怎么可能会出现“一个Integer对象中的数据是半角数字”这样的问题。至于它接受全角那已经是很久以前的事情了记得至迟在jdk1.2的时候Character.isDigit('2')就已经return true了
      

  7.   

    看了Integer的构造函数,变化了以后,取不到之前的值了。
        public Integer(String s) throws NumberFormatException {
    this.value = parseInt(s, 10);
        }和Character.digit有关系。
        public static int digit(char ch, int radix) {
            if (ch <= FAST_PATH_MAX) {
                return CharacterDataLatin1.digit(ch, radix);
            } else {
                return CharacterData.digit(ch, radix);
            }
        }
    这个方法会判断出来,由于全角的大于255,执行了下面的算法。他会把传入的字符算成半角数字的。
      

  8.   

    To:shine333(enihs)其实,你知道答案,也知道他错在什么地方,干什么那么回答别人。谁都有第一次的时候,你一开始的时候就什么都懂吗?
      

  9.   

    谢谢大家的热心帮助。
    至于shine333(enihs),虽然没帮上什么忙,但是我还是要谢谢你。
    奉劝一句给shine333(enihs):做人不要太嚣张
      

  10.   

    ok,我说话确实口气不是最好,我认错,但是我认为这个并不是技术问题,而是逻辑或者说思维问题。如果lz英文不好或者不清楚Integer是int的封装类,那OK,以后记住就可以了但是如果lz清楚知道Integer是怎么回事,还有此问的话,那就是逻辑思维混乱了,这个可不是一两个帖子就可以搞定的,需要理清一下思路,然后再restart。BTW:我确实不是一开始就懂的,但是我在学习java方面确实是自学的(在CSDN上除了散分、求资料外,就问过一个为什么Double.NaN != Double.NaN,谁有知道技术上如何实现,是否操作符重载,结果没人回答),盖因:目标明确,思路清晰,循序渐进(虽然我清楚知道Swing没用,但是我花了好几个月写Swing来学习java的一些设计模式,来thinking in java)肯仔细查看api/source(在工作之前用的是JPad+Winrar看jdk source)
      

  11.   

    Integer保存的只是一个数字,不存在全角与半角格式Integer支持全角数字的转换而已,它内部保存的仅仅是一个int。所以Integer中不存在全角与半角格式