如何判断一个Integer对象中的数据是半角数字??? 请问怎么样实现一个方法来判断一个Integer对象中的数据是半角数字. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没看懂, 你的Integer中存的是什么? 哪个Integer?!不会是your.newjava.lang.Integer吧 上面的那些人不要乱说,你们自己测试一下就知道了。全角的数字可以构造成Integer的。 我试过了,Integer中没有全角数字!Integer num = new Integer("22");num.toString()时,还是半角数字。 如果Integer能用全角的话,我觉得会抛异常的.肯定是系统自动转码了. 我没必要试,Integer封装的是int,怎么可能会出现“一个Integer对象中的数据是半角数字”这样的问题。至于它接受全角那已经是很久以前的事情了记得至迟在jdk1.2的时候Character.isDigit('2')就已经return true了 看了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,执行了下面的算法。他会把传入的字符算成半角数字的。 To:shine333(enihs)其实,你知道答案,也知道他错在什么地方,干什么那么回答别人。谁都有第一次的时候,你一开始的时候就什么都懂吗? 谢谢大家的热心帮助。至于shine333(enihs),虽然没帮上什么忙,但是我还是要谢谢你。奉劝一句给shine333(enihs):做人不要太嚣张 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) Integer保存的只是一个数字,不存在全角与半角格式Integer支持全角数字的转换而已,它内部保存的仅仅是一个int。所以Integer中不存在全角与半角格式 关于Hibernate连接sqlserver 2008的问题 请牛人指教 类之间最常见的关系,会的帮写以下好么?谢谢啊! Frame问题 怎么通过IP地址获取机器名啊? 怎么打开别人的源码呢 初学java,不知道怎么用JDK Documentation?在线等! 如何获得当前活动frame? 具高分请教,如何对汉字进行排序? 请问transient修饰的变量有什么意义? 真郁闷,觉得没错啊! 提问关于 jfilechooser中的监听机制
不会是your.newjava.lang.Integer吧
Integer num = new Integer("22");
num.toString()时,还是半角数字。
肯定是系统自动转码了.
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,执行了下面的算法。他会把传入的字符算成半角数字的。
至于shine333(enihs),虽然没帮上什么忙,但是我还是要谢谢你。
奉劝一句给shine333(enihs):做人不要太嚣张