面试的时候问这个问题,可能考察的不仅仅是parseInt()、valueOf()、intValue等方法
这个面试官想要的答案我也没不明白 这里写几种转换方式(转换时不考虑字符串非数字)
public int String2Int01(String str){
return Integer.parseInt(str);
}
public int String2Int02(String str){
return Integer.valueOf(str).intValue();
}
public int String2Int03(String str){
return new Integer(str).intValue();
}
// 可以看源码 用的还是parseInt()
public Integer(String s) throws NumberFormatException {
this.value = parseInt(s, 10);
}
public int String2Int04(String str){
char[] chars = str.toCharArray();
int res = 0;
int basic= 1;// 基数1 每次累计*10
// 比如 123 分解开就是 3*1 + 2*10 + 1*100
for (int i = chars.length-1; i >= 0; i--) {
// - '0' 是把char转换为0-9s
res= res + (chars[i]-'0')*basic;
basic = basic*10;
}
return res;
}
欢迎关注公众号:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有