java 如何判断字符串能否转成int
时间: 2023-06-01 13:03:26 浏览: 713
可以使用Java中的Integer.parseInt()方法尝试将字符串转换为int类型。如果字符串不是一个有效的整数,将抛出NumberFormatException异常。在使用该方法之前,最好先检查字符串是否为空或null。可以使用Java中的StringUtils类中的isNotEmpty()方法进行检查。
示例代码:
```
String str = "123";
if (StringUtils.isNotEmpty(str)) {
try {
int num = Integer.parseInt(str);
System.out.println("字符串可以转成int:" + num);
} catch (NumberFormatException e) {
System.out.println("字符串不能转成int");
}
} else {
System.out.println("字符串为空或null");
}
```
相关问题
java判断字符串可否转换为数字
可以使用Java中的`Integer.parseInt(String str)`方法将字符串转换为数字,但是在转换之前需要先判断该字符串是否可以转换为数字。可以使用以下代码实现:
```java
/**
* 判断一个字符串是否可以转换为数字
* @param str 字符串
* @return true 可以转换为数字;false 不能转换为数字
*/
public static boolean isStr2Num(String str) {
try {
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
```
上述代码中,`isStr2Num`方法接收一个字符串参数`str`,并尝试将其转换为整型数字。如果转换成功,则返回`true`,否则返回`false`。
接下来,可以使用以下代码测试该方法:
```java
public static void main(String[] args) {
String count1 = "123456";
String count2 = "123456hahaha";
if (isStr2Num(count1)) {
int codeReActiveCount = Integer.parseInt(count1);
System.out.println(codeReActiveCount); // 输出:123456
}
if (isStr2Num(count2)) {
int codeReActiveCount = Integer.parseInt(count2);
System.out.println(codeReActiveCount);
} else {
System.out.println("字符串无法转换为数字"); // 输出:字符串无法转换为数字
}
}
```
上述代码中,首先测试了一个可以转换为数字的字符串`count1`,如果可以转换,则将其转换为整型数字并输出。接着测试了一个不能转换为数字的字符串`count2`,由于无法转换,因此输出提示信息。
java判断字符串是否为int long float double
可以使用Java中的正则表达式来判断一个字符串是否为int、long、float或double类型。例如:
```java
public static boolean isInt(String str) {
return str.matches("^-?\\d+$");
}
public static boolean isLong(String str) {
return str.matches("^-?\\d+$");
}
public static boolean isFloat(String str) {
return str.matches("^-?\\d+(\\.\\d+)?f?$");
}
public static boolean isDouble(String str) {
return str.matches("^-?\\d+(\\.\\d+)?$");
}
```
这里使用了Java中的String.matches方法来判断字符串是否符合正则表达式。对于int和long类型,正则表达式为"^-\?\\d+$",表示以可选的负号开头,后面跟着一串数字,整个字符串以结尾;对于float类型,正则表达式为"^-\?\\d+(\\.\\d+)?f?$",表示以可选的负号开头,后面跟着一串数字,可能包含一个小数点和更多数字,最后可以以可选的f结尾;对于double类型,正则表达式为"^-\?\\d+(\\.\\d+)?$",表示以可选的负号开头,后面跟着一串数字,可能包含一个小数点和更多数字,整个字符串以结尾。