2017-08-19 6 views
2

現在ラムダ式を使用して色を取得するライブラリを使用しています。私はラムダを調べようとしましたが、私はそれを理解することができないか、コードをどのように適合させるかが分かりません。通常のJavaのAndroidで特定のラムダ式を行う方法

私が使用していますlibaryはAestheticと呼ばれ、これはコードです:私は私のプロジェクトでJava 1.8を使用しないよう、

Aesthetic.get() 
    .colorPrimary() 
    .take(1) 
    .subscribe(color -> { 
     System.out.println("The color is " + color); 
    }); 

私は->を使用せずに色を取得できますか。

答えて

3

subscribeの方法はConsumer<Integer>になります。ラムダは、基本的にそのインスタンスを表しています。したがって、Consumer<Integer>のインスタンスを作成するだけで済みます。これは匿名クラスを使用して行うことができます:

.subscribe(new Consumer<Integer>() { 

     @Override 
     public void accept(Integer color) { 
      System.out.println("The color is " + color); 
     } 
    }); 
+0

ありがとうございました!それは悪い質問のように思えますが、あなたは私が過去4日間の間しゃべっていたことを解決するのを手伝ってくれました! – Jason

関連する問題