尝试使用Stream.filter获取子列表过滤器时,我遇到以下异常:
List<Presupuesto> PresupuestosTienda = presupuestos.stream().filter(item -> item.tienda.equals(LaTienda.nombre)).collect(Collectors.toList());
'presupuestos'也是
List<Presupuesto>
的地方。我的Presupuesto课程非常简单:
public class Presupuesto {
String vendedor, tienda;
Date fecha;
double total;
public Presupuesto(){
}
public Presupuesto(String vendedor, String tienda, Date fecha, double total){
this.vendedor=vendedor;
this.tienda=tienda;
this.fecha=fecha;
this.total=total;
}
}
我真的不知道为什么会这样。我从互联网上举了一个例子,它有效!没有太大的区别。
https://github.com/rey5137/tutorials-1/blob/master/java-streams/src/test/java/com/baeldung/stream/filter/StreamFilterUnitTest.java
有人知道会发生什么吗?非常感谢
最佳答案
我发现,由于列表的起源是用gson转换的Json,因此列表中每个元素的真实类型是LinkedTreeMap,而不是Presupuesto类Type。所以知道我的问题是其他的。谢谢