Reactor Flux несовместимые типы при создании - PullRequest
0 голосов
/ 27 декабря 2018

Я не понимаю, что не так, но когда я подключаю Flux к цепочке, я получаю сообщение об ошибке.

У меня есть фабричный класс для MyObj

@Service
public class MyObjFactory {

   public MyObj create(JSONObject myObj) {
       return null;
   }
}

Хотя этот код не 'выдает ошибку

@Autowired
private MyObjFactory myObjFactory;

private Flux<MyObj> parseMyObj() throws IOException, ParseException {
   JSONArray jsonArray = (JSONArray) new JSONParser().parse(new FileReader("c:\\myobj.json"));
   Flux<Object> f1 = Flux.fromIterable(jsonArray);
   Flux<JSONObject> f2 = f1.cast(JSONObject.class);
   Flux<Vlb> f3 = f2.map(myObjFactory::create);
   return f3;
}

, которую вызывает код:
java: несовместимые типы: недопустимая ссылка на метод несовместимые типы: java.lang.Object невозможно преобразовать в org.json.simple.JSONObject

@Autowired
private MyObjFactory myObjFactory;

private Flux<MyObj> parseMyObj() throws IOException, ParseException {
   JSONArray jsonArray = (JSONArray) new JSONParser().parse(new FileReader("c:\\myobj.json"));
   return Flux.fromIterable(jsonArray)
          .cast(JSONObject.class)
          .map(myObjFactory::create);
}
...