我需要通过传入char变量来打印列表中的所有字符串。
例如,当我有类似
的内容时,我会传入char ppublic static void printStrings(List<String> words, char p)
{
words.stream()
.filter(i -> i.startsWith(p))
.sorted()
.forEach(System.out::println);
}
我如何传递char变量,因为我不断收到错误消息
error: incompatible types: char cannot be converted to String
那么如何在不出错的情况下传递char变量?
答案 0 :(得分:3)
首先将char
转换为String
。您可以调用方法String.valueOf(char)
public static void printStrings(List<String> words, char p)
{
words.stream()
.filter(i -> i.startsWith(String.valueOf(p)))
.sorted()
.forEach(System.out::println);
}
答案 1 :(得分:3)
String::startsWith
只能接受String
作为参数。
尝试
.filter(i -> i.startsWith(Character.toString(p)))