我有一个有效构造函数的class A {int sNo; String name;}
。
我需要使用流API对名称进行修剪并按名称排序。
public class Test1 {
public static void main(String[] args) {
ArrayList<A> l = new ArrayList();
l.add(new A(1, " 1name "));
l.add(new A(7, " 3name "));
l.add(new A(6, ""));
l.add(new A(5, " 2name "));
l.add(new A(4, " 5name "));
l.add(new A(2, ""));
List<String> i = l.stream()
.filter(s -> !s.name.isEmpty())
.map(s -> s.name.trim())
.sorted()
.collect(Collectors.toList());
System.out.println(i);
}
它只返回按名称排序的结果
[, 1name, 2name, 3name, 5name]
但我需要整个对象。
我知道s -> s.name.trim()
是它仅存储名称的原因,
如何在特定字段上应用操作,但存储整个对象。