我正在尝试在字符串列表中获得最大数字。
我的代码是:
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();
上述代码给出了一个错误。错误是:不可编译的源代码-错误的sym类型:Java . util . stream . stream . maptoint . max .结果我应该得到< code>1125。我尝试了不同的方法,但是没有一种有效。
@Abdusoli mapToInt只能映射int类型的数据,因此您必须首先将其解析为int,最终结果是OptInt,因此应将其转换为Int。您可以尝试两种方式
第一种方法
Integer maxNum = list.stream()
.mapToInt(Integer::parseInt)
.max()
.getAsInt();
System.out.println(maxNum);
第二种方法
Integer maxNum = list.stream()
.map(Integer::parseInt)
.mapToInt(Integer::intValue)
.max().getAsInt();
System.out.println(maxNum);
< code>mapToint不将任何对象(如< code>String)映射到整数。它用于将< code>Integer类型流映射到< code>int流。
您需要首先使用<code>map<code>和<code>parseInt<code>将<code>字符串
使用下面这段代码:
Integer maxNum = list.stream()
.map(Integer::parseInt)
.mapToInt(Integer::intValue)
.max()
.getAsInt();
希望这有帮助!
您需要将 String
s 解析为 Integer
s,这可以使用 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);
因为不能保证您的流不会为空,所以需要orElse
。
我有一个字符串s和一个整数k(子字符串长度),我正在尝试编写函数,这样它就可以找到长度为k的最小和最大的子字符串。并返回一个字符串,其中最小和最大的子字符串与换行符组合在一起。 到目前为止,我用下面的方法解决了这个问题,我编写了相同的代码来查找最小和最大的子字符串,然而,我想用流返回两个子字符串的单行代码。 我非常感谢任何建议,因为我现在正在学习lambda和stream。 那么,我该如何优雅地解
我有超过15个字符串列表,每个列表包含几个不同的代码。每个列表包含一种特定类型的代码。我有一个输入代码,必须找出该输入代码属于哪个列表,并根据结果返回一个特定字符串。我用if,else if来做这个。下面是示例代码 每个列表如下所示:公共静态列表codeTypeOneList=新ArrayList(); (其他代码类型的类似列表) 有没有更好的方法来实现这一点?谢谢
我有一个字符串“1,3,5,7,9,11,12,14”,我想检查该字符串在java中是否包含“12,3,14”。 我的代码:
我的一个朋友问我关于他们的讲师作为练习给他们的一个编码挑战。我找到了一个解决办法。但我认为,对于一个简单的分类问题来说,这个解决方案太长了。所以,我想问一下,是否有更直接的方法来解决这个挑战。 具有函数third_greatest(),它接受一个字符串数组并返回第三大单词。因此,例如:如果数组是[“你好”、“世界”、“之前”、“中午”],则输出应该是“世界”,因为“之前”是六个字母长,“你好”和“