String类型转int类型通常需要int的包装类Integer,该类有三个方法可以实现这种转换,分别为decode(String s)、parseInt(String s)、valueOf(String s)。
那么他们有哪些不同呢?下面看看API文档中的介绍:
decode(String s):
-
将
String
解码为Integer
。接受通过以下语法给出的十进制、十六进制和八进制数字;
parseInt(String s)或parseInt(String s, int radix)
-
将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号
'-'
('\u002D'
) 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予parseInt(java.lang.String, int)
方法一样。
valueOf(String s)
-
返回保存指定的
String
的值的Integer
对象。将该参数解释为表示一个有符号的十进制整数, 就好像将该参数赋予parseInt(java.lang.String)
方法一样。结果是一个表示字符串指定的整数值的Integer
对象。
可以看出decode(String s)的功能比较强大,因为它不仅可以转换10进制,还可以转换其他的进制。