写点什么

面试题: String "123" 转 int 类型

发布于: 2021 年 04 月 05 日

给一个 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;}
复制代码


用户头像

还未添加个人签名 2018.03.28 加入

还未添加个人简介

评论

发布
暂无评论
面试题: String "123" 转 int类型