Ошибка -> "com.google.gson.internal.LinkedTreeMap не может быть приведен к" с использованием Stream.filter - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть это исключение при попытке получить фильтр подсписков с помощью 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;
}

}

Я действительно не знаю, почему это произошло. Я взял пример из inte rnet, и это работает! нет большой разницы.

https://github.com/rey5137/tutorials-1/blob/master/java-streams/src/test/java/com/baeldung/stream/filter/StreamFilterUnitTest.java

Кто-нибудь знает, что это может происходить? Большое спасибо

1 Ответ

0 голосов
/ 03 апреля 2020

Я обнаружил, что, поскольку источником моего Списка был Json, преобразованный с помощью gson, реальным типом каждого элемента в Списке был LinkedTreeMap, а не класс Presupuesto класса Type. Так что знайте, моя проблема в другом. Спасибо

...