2016-03-25 20 views
1

なしのJava 6で観察ReactiveXを作成します。私は、観察対象物(ReactiveX)を作成する方法についての例が見つかりました:は、ラムダ式

static Observable<Integer> getDataSync(int i) { 
     return Observable.create((Subscriber<? super Integer> s) -> { 
      // simulate latency 
       try { 
        Thread.sleep(1000); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       s.onNext(i); 
       s.onCompleted(); 
      }); 
    } 

をしかし、私のプロジェクトでは、ラムダ式用のJava 8をサポートしていません。私は、ラムダ式なしでReactiveX observableを使用する方法の例を見つけることができませんでした。

+0

反応?あなたは "オブザーバー"を意味しますか? http://www.javaworld.com/article/2077258/learn-java/observer-and-observable.html – RubioRic

+0

最新のIDEには、Java 6プロジェクトでラムダを書く場合、匿名の内部クラスに変換するオプションが用意されています。 – akarnokd

+0

私はintellijを使用していますが、私はどのようにそれを見つけることができませんでした..あなたはそれを経験していますか? – Xitrum

答えて

4

あなたは何をしているのに対して正しいラムダレス構文を探していますか?

それは次のようになります。

static Observable<Integer> getDataSync(int i) { 
    return Observable.create(new Observable.OnSubscribe<Integer> { 
     @Override 
     public void call(Subscriber<? super Integer> s) { 
      // simulate latency 
      try { 
       Thread.sleep(1000); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      s.onNext(i); 
      s.onCompleted(); 
     } 
    }); 
}