【发布时间】:2017-11-18 03:49:44
【问题描述】:
我正在尝试将列表中的所有内容都转换为大写,但我遇到了麻烦。最后一行出现错误:
方法映射(功能不适用于 参数(Character::toUppercase)
但我不确定如何解决它。另外,如何显示此列表中“g”之后的所有字符?
public static void main(String[] args) {
List<Character> list = new ArrayList<>();
String alphabet = "abcdefghijklmnopqrstuvwxyz";
SecureRandom random = new SecureRandom();
for (int i = 0; i < 30; ++i)
{
list.add(alphabet.charAt(random.nextInt(26)));
}
System.out.println("Ascending: ");
list.stream().sorted().forEach(System.out::print);
System.out.println("Characters in uppercase: ");
list.stream().map(Character::toUpperCase).collect(toList());
}
【问题讨论】:
-
System.out.println(list.stream().map(String::valueOf).map(String::toUpperCase).collect(Collectors.joining()));和System.out.println(list.stream().filter(ch -> ch > 'g').map(String::valueOf).map(String::toUpperCase).collect(Collectors.joining())); -
“最后一行出现错误” - 错误是什么?我无法复制...
-
关于第二个问题:
list.subList(list.indexOf('G')+1, list.size()) -
这是我得到的错误:“Stream
类型中的方法 map(Function -
对于第二个,我该怎么做才能按字典顺序显示 'g' 之后的字母?
标签: java list java-stream