我正在尝试获取字符串列表中的最大数量。
我的代码是:
List<String> list = new ArrayList<String>();
list.add("00657");
list.add("00632");
list.add("00656");
list.add("01125");
Integer maxNum = list.stream()
.mapToInt(Integer::intValue)
.max();
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了一个错误。错误是:无法编译的源代码 - 错误的符号类型:java.util.stream.Stream.mapToInt.max。
我应该得到1125结果。我尝试了不同的方法,但都没有奏效。
Mar*_*cca 12
您需要将Strings解析为Integers ,这可以使用parseInt:
List<String> list = new ArrayList<>();
list.add("00657");
list.add("00632");
list.add("00656");
list.add("01125");
int maxNum = list.stream()
.mapToInt(Integer::parseInt)
.max()
.orElse(-1);
Run Code Online (Sandbox Code Playgroud)
因为不能保证您的流不会为空,这就是为什么orElse需要 。