Warum kann ich nicht auf die id
Eigenschaft von Device
zugreifen?Warum kann ich bei der Verwendung von Collectors.toMap nicht auf das Typfeld zugreifen?
final List<Device> devicesList = jsonFileHandlerDevice.getList();
ConcurrentMap<Integer, Device> map =
devicesList.stream()
.collect(Collectors.toMap(item -> item.id, item -> item));
wo
public class Device {
public MobileOs mobileOs;
public Integer id;
public Device() {
}
public Device(MobileOs mobileOs, double osVersion, int allocatedPort, Integer id, String uuid) {
this.mobileOs = mobileOs;
this.id = id;
}
}
hier sehen:
Ich denke, Sie haben vielleicht eine irreführende Fehlermeldung erhalten. Ich glaube, dass der tatsächliche Fehler einen 'ConcurrentMap '- Typ verwendet, wenn der vom Kollektor zurückgegebene Typ' Map ' ist. Wenn Sie möchten, dass die zurückgegebene Map eine "ConcurrentMap" ist, müssen Sie die toMap-Variante verwenden, die einen Lieferanten akzeptiert (der den Typ der Map bestimmt, der zurückgegeben werden soll). –
Eran
sehen Sie meinen zusätzlichen Screenshot –
Was ist die Fehlermeldung? –