Несовместимые типы: от логического до Callbale <Boolean> - PullRequest
0 голосов
/ 22 марта 2019

Когда я компилирую следующий фрагмент кода, я получаю: «ошибка: несовместимые типы: логическое не может быть преобразовано в Callable»

Callable<Boolean> updateTwitEkshaHndle(String Axl, int buyoncy)
{   
    String bufferMe=null;
    return()  -> {

            /**Eksha  code**/

            while (true) 
            {
                /**Looping Logic to filling "bufferMe" **/
                // bufferMe = some valid data
            }
    };
    return ((bufferMe == null || bufferMe.isEmpty()) ? false : true);
}

Я вызываю этот метод в API параллельного ожидания.

await().atMost(2 secs).until(updateTwitEkshaHndle("poter", vasl));

Я новичок в Java, может кто-нибудь пролить мне свет на эту проблему.

EDIT1: Я изменил приведенный ниже оператор возврата на:

return (!(bufferMe == null || bufferMe.isEmpty())

Тем не менее я попал в ту же проблему.

Все вместе я решил переопределить Callable :: call (), и моя попытка прошла, как показано ниже:

Callable<Boolean> updateTwitEkshaHndle(String Axl, int buyoncy)
{   
    String bufferMe=null;
    ****return new Callable<Boolean>() {**
     @Override
     public Boolean call() throws Exception {**
            /**Eksha  code**/

            while (true) 
            {
                /**Looping Logic to filling "bufferMe" **/
                // bufferMe = some valid data
            }
      }
     };
    return (!(bufferMe == null || bufferMe.isEmpty()))
 }

} После этого я начал получать ошибки вроде

ошибка: неправильный запуск типа return new Callable () {error: ';' ожидаемый вернуть новый Callable () {ошибка: не утверждение return new Callable () {error: ';' ожидаемый return new Callable () {error: недопустимое начало выражения public boolean call () вызывает исключение {

Я импортировал требуемый пакет из 'concurrent'. Я предполагаю, что что-то основное или обязательное условие здесь не так.

...