通过传入char变量来打印列表中的所有字符串

时间:2018-07-29 04:47:53

标签: java java-stream

我需要通过传入char变量来打印列表中的所有字符串。

例如,当我有类似

的内容时,我会传入char p
public 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变量?

2 个答案:

答案 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)))