2012-02-15 2 views
0

Java SDK 7がインストールされており、Eclipse 3.7.1 Indigoを使用しています。Eclipse 3.7.1のJava 7クロージャ構文の使用

私はHashMapを定義するための新しいJava 7構文を使用するとうまくいきます。

しかし、閉包構文を使用しようとすると、eclipseはコンパイルエラーをスローします。これは私がコンパイルしようとしているものです。

public static <T> Collection<T> select(Collection<T> source, 
             {T=>Boolean} predicate) { 

    Collection<T> result = new ArrayList<T>(); 
    for (T o : source) { 
     if (predicate.invoke(o)) { 
      result.add(o); 
     } 
    } 
    return result; 
} 

構文が間違っていますか?または私はそれを間違っている?

+0

また、構文が間違っています。仮パラメータの構文は 'Predicate 述語'であり、述語の使用は 'if(predicate.test(o))'とコールサイトの実際のパラメータとなり、リストは 'people'コレクションは 'select(people、p - > p.isHappy()&& p.isSinging());のようなものになります。 –

答えて

9

のJava 7にはクロージャを持っていない - それはそれはが、それは、Java 7になることを期待し、それはカットをしなかったでしたJava 8の計画機能

です。

関連する問題