( NagyZ | 2011. 01. 14., p – 11:01 )

nem azt mondtam, hogy funkcionalis, hanem hogy nagyon hasonlo. koszi, tudom mit tud a Java, azt is, hogy mi lesz/lett volna a 7esben.
es az, hogy Javaban nincs fuggvenypointer, sosem hianyzott meg annyira. ahol minimalisan igen, ott meg ki lehetett valtani OOPvel.

de tessek, ilyen egy ilyen kod, ami nyilvan jol kihasznalja a nyelv lehetosegeit:


interface P {
    List<Card> match(List<Card> cards);
}

enum Value {
    HCARD(new P() {
        ...
    }),
    PAIR(new P() {
        ...
    }),
    ...
    private final P predicate;

    private Value(P predicate) {
        this.predicate = predicate;
    }

    public List<Card> match(List<Card> cards) {
        return predicate.match(cards);
    }
}

hasznalni meg egyszeru, mint a faeket: Value.HCARD.match(akarmi)