Когда я компилирую следующий фрагмент кода, я получаю: «ошибка: несовместимые типы: логическое не может быть преобразовано в 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'. Я предполагаю, что что-то основное или обязательное условие здесь не так.