前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题: String “1247”转int 类型

面试题: String “1247”转int 类型

原创
作者头像
木子的昼夜
修改2021-04-06 11:07:30
8140
修改2021-04-06 11:07:30
举报

给一个String str="123"; 转成int类型数据

面试的时候问这个问题,可能考察的不仅仅是parseInt()、valueOf()、intValue等方法

这个面试官想要的答案我也没不明白 这里写几种转换方式(转换时不考虑字符串非数字)

一、parseInt
public int String2Int01(String str){
       return  Integer.parseInt(str);
}
二、valueOf intValue
 public int String2Int02(String str){
        return  Integer.valueOf(str).intValue();
 }
三、 new Integer(String str)
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;
}

欢迎关注公众号:

公众号二维码.jpg
公众号二维码.jpg

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 给一个String str="123"; 转成int类型数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档