很多事,只能回头看,不能回头走,不能留在身边,只能留在记忆里…
如何将一个字符串转换为一个数字?
前提是这个字符串是数字的类型,如“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()方法(第二个)
这篇技术分享,仅为了纪念我那位,在追妹子的路上迷途不返,从未得手的朋友…
欢迎大家关注博主的公众号:stackoverflow
今天的文章Java中,如何将字符串转为数字(StringToNumber)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9232.html