99%的java程序员都会做错的简单问题.部分代码如下:
String str = "XXXX";//XXXX为全角数字, 如234
int code ;
try {
code = new Integer(str).intValue();
}
catch(Exception e) {
code = 0;
}
System.out.println("code=" + code);大家知道code的输出值是多少吗?请知道答案的朋友把答案写在下面,我好统计一下大概会有多少朋友会答错,是否会达到99%.
String str = "XXXX";//XXXX为全角数字, 如234
int code ;
try {
code = new Integer(str).intValue();
}
catch(Exception e) {
code = 0;
}
System.out.println("code=" + code);大家知道code的输出值是多少吗?请知道答案的朋友把答案写在下面,我好统计一下大概会有多少朋友会答错,是否会达到99%.
不知道是对是错,哈哈.
'\u0660' 到 '\u0669',Arabic-Indic 数字
'\u06F0' 到 '\u06F9',扩展了的 Arabic-Indic 数字
'\u0966' 到 '\u096F',梵文数字
'\uFF10' 到 '\uFF19',全形数字
其他许多字符范围也包含数字。
UTF-8保存的源代码编译时有警告, 结果是0
结果我已经验证了
ANSI保存的源代码结果是半角的数字
UTF-8保存的源代码编译时有警告, 结果是0
public static void main(String argz[]){
String str = "234";//XXXXΪȫ½ÇÊý×Ö, È磲£³£´
int code ,i=234;
try {
code = new Integer(str).intValue();
}
catch(Exception e) {
code = 0;
}
System.out.println(""+code);
System.out.println(""+i);
System.out.println(str);
}
}结果是:
234
234
234
没什么区别阿!!?什么半角全角的!!
前段时间我写程序时,就因为这个问题郁闷了好长时间啊
我们的程序要求在资源文件中定义一些key,用于页面显示控制,如页面显示多少条数据,要求key值只能是数值类型的.后来我就使用了上面我写的代码.但这段代码隐藏了一个我不知道的bug,就是全角数字java无法识别出来.虽然页面也能正常显示,结果正确,但我个人认为这属于一个潜在的bug.后来我又修改了代码,增加了验证掉全角数字的逻辑.
或者
int code = new Integer("貳參肆").intValue()
或者
int code = new Integer("貳參肆").intValue()-----------------
楼上牛人这就是星和三角本质的区别