Java中,如何将字符串转为数字(StringToNumber)

版权声明:Please make the source marked https://blog.csdn.net/qq_31807385/article/details/82693326

很多事,只能回头看,不能回头走,不能留在身边,只能留在记忆里...

如何将一个字符串转换为一个数字?

前提是这个字符串是数字的类型,如“123”;show you the code:

package com.isea.java;
public class Test {
    public static void main(String[] args) {
        String str = "123";

        Integer num1 = new Integer(str);

        int num2 = Integer.parseInt(str);

        Integer num3 = Integer.valueOf(str);

        System.out.println(num1 + "\t" + num2 + "\t" + num3);//123	123	123
    }
}

上面的代码中,演示了三种将字符串转换为数字的方法,也许,你看了代码之后,已经知道了如何来一波操作把字符串变成数字,但是我个人觉得这还远远不够,对于知识,我们应该有这样的一种精神,我总结为:

打破砂锅学到底

好,让我们本着这样的学习精神分别来看看这三个将字符串转为数字的“神操作”:

Interger类的构造方法

直接入源码,看看这个构造方法:

public Integer(String s) throws NumberFormatException {
       this.value = parseInt(s, 10);
   }

这个this.value 是什么呢?继续追踪源码:

 private final int value;

 由此,可以发现包装类的一个特点:

在包装内的内部,将这个包装类对应的基本数据类型作为一个私有的属性,对外将这个基本数据类型的值(value)封装成为一个对应的包装类的对象。

在Integer的构造方法中,我们发现调用了parseInt(String s)方法,我们继续追踪,就来到文章的开篇演示的第二种方法中:

parseInt(String s)方法

 public static int parseInt(String s) throws NumberFormatException {
            return parseInt(s,10);
        }
//上一个:第一次方法的封装,
//下一个:实际完成字符串转为数字的方法
         public static int parseInt(String s, int radix)throws NumberFormatException

valueOf(String s)方法

public static Integer valueOf(String s) throws NumberFormatException {
          return Integer.valueOf(parseInt(s, 10));
      }

最后一个方法,其实也是在调用parseInt()方法(第二个)

这篇技术分享,仅为了纪念我那位,在追妹子的路上迷途不返,从未得手的朋友...

猜你喜欢

转载自blog.csdn.net/qq_31807385/article/details/82693326
今日推荐