鉴于客户列表,我需要创建另一个列表,其中包含大写客户的名字。这是java中的代码 -
List<String> getFirstNames(List<Customer> customers)
{
List<String> firstNames = new ArrayList<>();
for(Customer customer: customers) {
firstNames.add(StringUtils.uppercase(customer.getFirstName());
}
return firstNames;
}
如何在java8中使用lambda编写此方法。 我可以用这种方式使用流,转换为列表 -
customers.stream().map(Customer::getFirstName).collect(Collectors.toList());
但是,如何将firstName转换为大写,使用它?
答案 0 :(得分:4)
最简单的方法是编写自己的lambda表达式,为您转换为大写:
List<String> firstNames = customers.stream()
.map(customer->StringUtils.uppercase(customer.getFirstName()))
.collect(Collectors.toList());
答案 1 :(得分:0)
即使在代码中,您也要使用客户名称,然后执行toUpperCase。
List<String> firstNames = customers.stream()
.map(customer-> customer.getFirstName())
.map(firstName -> StringUtils.uppercase(firstName))
.collect(Collectors.toList())