概述
public class StringToNumber {
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);
}
}
如果是单个字符或者字符串则需要先切开转换为char字符再转换 不然像上面直接转化会空指针异常
String a = "ABC";
//将String对象中的每一个下标位的对象保存在数组中
char[] b = a.toCharArray();
//转换成响应的ASCLL
for (char c : b) {
System.out.println(Integer.valueOf(c));
}
原理分析:
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()方法(第二个)
最后
以上就是光亮悟空为你收集整理的JAVA字符串如何转换成数字(StringToNumber)的全部内容,希望文章能够帮你解决JAVA字符串如何转换成数字(StringToNumber)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复