将字符串转换为整数(int)在Java中有多种方法,以下是一些常用的方法:
- 使用
Integer.parseInt(String s)
方法:
String str = "123";
int num = Integer.parseInt(str);
- 使用
Integer.valueOf(String s).intValue()
方法:
String str = "123";
int num = Integer.valueOf(str).intValue();
- 使用
Integer.decode(String s)
方法,可以解析十进制、十六进制和八进制的数字:
String str = "0144";
int num = Integer.decode(str);
- 使用
int.TryParse(String s, out int result)
方法,这个方法不会抛出异常,而是在转换失败时返回false
,成功时返回true
:
String str = "123";
int num;
if (int.TryParse(str, out num)) {
// 转换成功
} else {
// 转换失败
}
- 使用
Convert.ToInt32(String s)
方法,这个方法内部实际上调用了int.Parse
:
String str = "123";
int num = Convert.ToInt32(str);
- 使用正则表达式判断字符串是否为整数,然后动态选择转换方法:
String str = "123";
Pattern pattern = Pattern.compile("^[-+]?[0-9]+$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
int num = Integer.parseInt(str);
} else {
// 不是整数
}
选择哪种方法取决于你的具体需求,例如是否需要处理异常、是否需要区分整数和浮点数等。需要注意的是,如果字符串不能转换为整数,上述方法会抛出异常,你可能需要使用try-catch块来处理这些异常