Java 验证List<String> input = Arrays.asList("1", "2", "-3", "你");是不是都是正整数
时间: 2024-11-23 12:21:06 浏览: 17
在Java中,验证`List<String>` `input` 是否包含全都是正整数并不直接可行,因为"你"不是一个有效的正整数。为了完成这个任务,你可以按照之前提到的方式,遍历列表,并使用`Integer.parseInt()`函数尝试转换每个字符串。如果某个字符串无法转换为整数,或者转换后的整数值小于等于0,那么就说明列表中包含了非正整数。
下面是一个示例代码片段:
```java
import java.util.Arrays;
import java.util.List;
import java.text.ParseException;
public class Main {
public static void main(String[] args) {
List<String> input = Arrays.asList("1", "2", "-3", "你");
try {
if (input.stream()
.mapToInt(Integer::parseInt)
.allMatch(i -> i > 0)) {
System.out.println("所有元素都是正整数");
} else {
System.out.println("列表中含有非正整数");
}
} catch (NumberFormatException e) {
System.out.println("列表中包含非数字字符串");
}
}
}
```
这段代码首先尝试将字符串转为整数,如果转换过程中任何一个字符串无法成功转换(比如"你"),`parseInt`会抛出`NumberFormatException`,程序会捕获这个异常并告知存在非数字字符串。
阅读全文