Strumieniowanie i lambda

0

Witam

Jestem nowy w Javie 8 i nie wiem czemu ten program nie chce działać. Mam wypisać listę napojów zaczynających się na "C" za pomocą strumieniowania i lambdy a zamiast tego wypisują mi się błędy. Ktoś wie co tu być nie tak?

import static java.util.stream.Collectors.*;

public class LambdaIStrumieniowanie {
    public static void main(String[] args) {
        public class Beverage {
            String name;
            int price;

            Person(String name, int price) {
                this.name = name;
                this.age = price;
            }@
            Override
            public String toString() {
                return name;

            }
        }

        List beverage = Arrays.asList(
            new Beverage("Cola", 2),
            new Beverage("HipsterCola", 5),
            new Beverage("SuperHipsterCola", 5),
            new Beverage("UltraSuperHipsterCola", 10),
            new Beverage("CheapCola", 2));

        List filtred =
            beverages
            .stream()
            .filter(b - > b.name.startsWith("C"))
            .collect(Collector.toList());

        System.out.println(filtred);
    }
error: illegal start of expression
 public class Beverage{
 ^
error: invalid method declaration; return type required
 Person (String name, int price){
^
error: reached end of file while parsing
System.out.println(filtred);
0

hmm, czemu używasz "Collector.toList()", a nie "Collectors.toList()"?

0

Tak było napisane, ale w każdej wersji i tak jest źle.

0

Na razie zapomnij o strumieniowaniu i lambdach. Zapoznaj się ze składnią Javy i napisz prostego HelloWorlda.

0

dokładnie, widzę teraz że wrzuciłeś wewnętrzną klasę do maina.

1 użytkowników online, w tym zalogowanych: 0, gości: 1