Interpreter-Fehler Code verstehen und Compilerfehler

beta20

Top Contributor
Hallo,

ich habe folgenden Code, möchte aber erstmal verstehen was hier genau passiert - da ich solch eine Implementierung noch nicht gesehen habe...

Java:
            for (EditableElement editableElement : editableElements) {
                if (editableElement instanceof PositionTable) {
                    PositionTable positionTable = (PositionTable) editableElement;
                    List<ColumnModel> displayedColumns = positionTable.getColumnConfigs().stream()
                            .filter(PositionTableColumnConfig::getEnabled)
                            .sorted(Comparator.comparingInt(PositionTableColumnConfig::getOrder))
                            .map(columnConfig -> new ColumnModel(columnConfig.getTitle(),
                                    columnConfig.getColumnType().getField(), columnConfig.getAlignment()))
                            .collect(Collectors.toList());
                    positionTable.setDisplayedColumns(displayedColumns);
                }
            }

Es geht konkret um das:

Java:
List<ColumnModel> displayedColumns = positionTable.getColumnConfigs().stream()
                            .filter(PositionTableColumnConfig::getEnabled)
                            .sorted(Comparator.comparingInt(PositionTableColumnConfig::getOrder))
                            .map(columnConfig -> new ColumnModel(columnConfig.getTitle(),
                                    columnConfig.getColumnType().getField(), columnConfig.getAlignment()))
                            .collect(Collectors.toList());

Zudem bekomme ich in Eclipse diesen Fehler:
"57,75] lambda expressions are not supported in -source 1.5"

Wie kann ich diesen beheben?
 
Bezüglich, was da genau passiert (Stichwort "Java 8 Streams"):
- https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/
- https://www.baeldung.com/java-8-streams
- https://docs.oracle.com/javase/tutorial/collections/streams/index.html

Bezüglich der Eclipse Fehlermeldung:
Sie sagt, dass dein Projekt mit Java Version 1.5 konfiguriert ist und so gebaut wird.
Das kannst du umstellen, siehe:
- https://stackoverflow.com/questions...piler-version-for-java/2540730#answer-2540730
Du kannst also in den Projekteinstellungen das Compliance Level einstellen. Hier muss es dann mindestens 1.8 sein.
 
Hallo beta,
zu dem, was da passiert: Es wird gefiltert, sortiert, gemmapt und gesammelt.

Absolut ins blaue hineingeraten: Es wird ein Teil einer Tabelle "ausgeschnitten" und "in Reihenfolge gebracht". Das ist allerdings keine fundierte begründung. 😉
 

Neue Themen


Zurück
Oben