
API Stream - Inconvertible types; cannot cast 'edu.uoc.pac4.ShoppingCart' to 'edu.uoc.pac4.DigitalPr
Publicado por Xavi (21 intervenciones) el 03/12/2021 20:48:59
Hola,
tengo el siguiente diagrama UML:

Estoy intentando implementar el método getDigitalProductOrderByName(). Este método utiliza la API Stream para obtener una lista ordenada alfabéticamente de los nombres de los productos digitales que hay en un carrete, es decir, de los productos tipo DigitalProduct que hay en la lista cart.
En la clase ShoppingCart se ha definido lo siguiente:
Sin embargo, me da el siguiente error:
Hay que mencionar que el diagrama UML adjunto es un diagrama complementario al siguiente, sin embargo, en este se omiten aquellos elementos que no se relacionan con ShoppingCart

tengo el siguiente diagrama UML:

Estoy intentando implementar el método getDigitalProductOrderByName(). Este método utiliza la API Stream para obtener una lista ordenada alfabéticamente de los nombres de los productos digitales que hay en un carrete, es decir, de los productos tipo DigitalProduct que hay en la lista cart.
En la clase ShoppingCart se ha definido lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package edu.uoc.pac4;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;
import java.util.stream.Collectors;
public class ShoppingCart {
private String clientName;
private double total;
private List <ShoppingCart> cart;
public ShoppingCart(String clientName) {
cart = new ArrayList<>();
setClientName(clientName);
}
public String getClientName() {return clientName;}
public void setClientName(String clientName) {this.clientName = clientName;}
public double getTotal() {return total;}
public void setTotal(double total) {
this.total = (double) Math.round(total * 100) / 100;
}
// MÉTODO STREAM
public List<String> getDigitalProductOrderByName() {
return this.cart.stream().filter(cart -> cart instanceof DigitalProduct).map(ShoppingCart::getClientName).sorted().collect(Collectors.toList());
}
Sin embargo, me da el siguiente error:
1
Inconvertible types; cannot cast 'edu.uoc.pac4.ShoppingCart' to 'edu.uoc.pac4.DigitalProduct'
Hay que mencionar que el diagrama UML adjunto es un diagrama complementario al siguiente, sin embargo, en este se omiten aquellos elementos que no se relacionan con ShoppingCart

Valora esta pregunta


0