Java的String怎么转换成int
在Java中,我们可以使用以下几种方法将String转换成int:
1、使用Integer.parseInt()
方法
2、使用Integer.valueOf()
方法
3、使用Integer.toString()
方法
4、使用Integer.decode()
方法(已废弃)
5、使用Character.getNumericValue()
方法(仅适用于包含数字字符的字符串)
6、使用正则表达式提取数字并转换为int
下面我们详细介绍这几种方法的使用:
1、Integer.parseInt()
方法
String str = "123"; int num = Integer.parseInt(str); System.out.println(num); // 输出:123
Integer.parseInt()
方法是将字符串参数解析为带符号的十进制整数,如果字符串不能被解析为整数,将抛出NumberFormatException
异常。
2、Integer.valueOf()
方法
String str = "123"; int num = Integer.valueOf(str); System.out.println(num); // 输出:123
Integer.valueOf()
方法是将字符串参数解析为一个Integer
对象,然后返回该对象的值,这个方法可以处理不可变的Integer
对象和可变的Integer
对象。
3、Integer.toString()
方法
String str = "123"; int num = Integer.parseInt(str); // 将字符串转换为int System.out.println(num); // 输出:123
上述代码是错误的,因为我们需要将字符串转换为int,而不是将int转换为字符串,这里我们只是演示了如何使用Integer.toString()
方法将int转换为字符串。
4、Integer.decode()
方法(已废弃)
String str = "123"; int num = Integer.decode(str); // 报错:NumberFormatException: For input string: "123"
Integer.decode()
方法已被废弃,不建议使用。
5、Character.getNumericValue()
方法(仅适用于包含数字字符的字符串)
String str = "123"; int num = 0; for (int i = 0; i < str.length(); i++) { num = num * 10 + Character.getNumericValue(str.charAt(i)); // 将字符串中的每个字符转换为数字并累加求和 } System.out.println(num); // 输出:123
这种方法适用于字符串中只包含数字字符的情况,通过遍历字符串中的每个字符,将其转换为数字并累加求和,最终得到整数值,需要注意的是,这种方法没有考虑进位问题,因此在计算较大整数时可能会出现错误。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/145112.html