public String largestNumber(final List<Integer> A) {
}
我想继续此方法,但列表中的数据应为字符串。 我不知道如何转换。
答案 0 :(得分:0)
将整数转换为String
的逻辑是什么。解决方案应该是这样的。
ints.stream().map(String::valueOf).collect(Collectors.toList());
答案 1 :(得分:0)
其他人提供了有关如何将List<Integer>
转换为List<String>
的指导。但是,给定方法的名称,我假设目标是在指定的List<Integer>
中找到最大的数字。我认为应基于方法名称将其作为int
而不是String
返回。尽管如此,实际找到最大值并将其返回为String
的一种可能方法是:
public String largestNumber(final List<Integer> myNumbers)
throws NoSuchElementException
{
if (myNumbers == null || myNumbers.isEmpty()) {
// could return an empty String instead, but then the
// calling method might need to check for an empty String
throw new IllegalArgumentException("No numbers provided");
}
// use the stream to find the largest (max) value
OptionalInt possMax = myNumbers.stream().mapToInt(Integer::intValue).max();
return String.valueOf(possMax.getAsInt());
}
也请注意,如果没有最大数量的传播,我允许NoSuchElementException
。可以检查是否存在,然后返回一个空的String
,但是返回一个空的String
似乎调用代码然后可能需要检查这种情况。
List<Integer> vals = List.of(1, 2, 3, 4, 5, 3, 2, 1);
String l = largestNumber(vals);
System.out.println(l);
输出:
5
答案 2 :(得分:-1)
List<Integer>
转换为Stream
Integer
映射到String
List<String>
list.stream().map(Object::toString).collect(Collectors.toList())