Zusätzlich zu meiner Frage zuvor gefragt, die hier gefunden werden kann, How to combine list elements and find the price of largest combinationWie konvertiert man den Stream?
Statt Integer price
zu verwenden, ich String price
verwende,
List<Long> highest = details
.stream()
.map(d -> Stream.concat(Stream.of(d.getDetailId()), d.getStackableDetails().stream()).collect(Collectors.toList()))
.collect(Collectors.toMap(s -> s.stream().map(Double.class::cast).reduce(0D,
(left, right) -> left + Double.parseDouble(map.get(right).getPrice())),
s -> s.stream().collect(Collectors.toList()),
(left, right) -> right,
TreeMap::new))
.lastEntry().getValue();
Aber ich halte eine Klasse Guss Ausnahme erhalten, während des Lauf gleich. Kann mir jemand sagen, warum ich den Streamtyp nicht übertragen kann und wie ich das korrigieren kann? Vielen Dank!
post die tatsächliche Fehlermeldung/stacktrace – Eugene
java.lang.ClassCastException: Guss Kann nicht java.lang.Long zu java.lang.Double –
ja, zum Beispiel 'String Preis = "30.0". –