Java将String转化为int

Author Avatar
Mizore 4月 19, 2020

今天在刷算法题时遇到要将 “2019-11-3” 这种字符串形式的时间转化为int的问题(当然我是刚刚开始刷算法题hh),于是想要归纳下String转化为int的方法。字符串转化为其他类型数字类同。

两种方法

目前来说,我只知道两种方法将String转化为int,那就是Integer 类中的 parseInt() 方法或者 valueOf() 方法。接下来我们介绍这两种方法。

parseInt()

parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析。

如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

static int parseInt(String s)
static int parseInt(String s, int radix)

示例代码:

String str = "123";
int a = Integer.parseInt(str);

valueOf()

valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。

该方法可以接收两个参数一个是字符串,一个是基数。

static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s, int radix)

示例代码:

String str = "123";
int b = Integer.valueOf(str).intValue()

最后要注意的是,两种方法字符串中都可能会出现非数字的情况,需要捕获异常。