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)内容请搜索靠谱客的其他文章。
发表评论 取消回复