RxJava. Observable.OnSubscribe не может быть разрешено для типа - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь написать свой первый код в RxJava, но я столкнулся с некоторой ошибкой импорта библиотеки, я полагаю.

package second.pack;
import io.reactivex.Observable;
public class Main {
    public static void main(String[] args) {
        Observable <String> observable = Observable.create(
// the line below marked as it has an error in Eclipse
/* 7 line */    new Observable.OnSubscribe<String>(){
                    @Override
                    public void call (Subscriber <String> sub){
                      sub.onNext("New Datas");
                      sub.onComplete(); 
                }
            }
    );
}

}

Ошибка

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Observable.OnSubscribe cannot be resolved to a type
    at second.pack.Main.main(Main.java:7)

enter image description here

Пожалуйста, кто-нибудь может мне помочь с этой ошибкой? Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы смешиваете конструкции между 1.x и 2.x. Вы работаете с более старым учебником? Попробуйте вместо этого:

import io.reactivex.*;

public class ObservableOnSubscribeTest {
    public static void main(String[] args) {
        Observable<String> observable = Observable.create(
                new ObservableOnSubscribe<String>(){
                    @Override
                    public void subscribe(ObservableEmitter<String> sub){
                        sub.onNext("New Datas");
                        sub.onComplete(); 
                    }
                }
            );
    }
}
0 голосов
/ 28 июня 2018

Вы уверены, что у вас есть правильная версия RxJava на вашем пути к классам? Похоже, вы пытаетесь использовать RxJava 1.x (io.reactivex.Observable), но Observable.OnSubscribe был добавлен в RxJava 2.x (rx.Observable)

...