Я использую простой код Java для Future:
Future<Integer> futureTask = executor.submit(() -> {
System.out.println("I'm Callable task.");
return 1 + 1;
});
, когда я вставляю его в класс kotlin, он преобразуется в:
val futureTask = executor.submit {
println("I'm Callable task.")
1 + 1
}
, но когда я пытаюсь получить значение как вJava-класс Я получаю нулевое значение вместо числа
val integ = futureTask.get()
, когда я пишу return как в java-коде, мой ide предупреждает, что return здесь не разрешен.
Полный код котлина следующий:
fun main(args: Array<String>) {
val executor = Executors.newSingleThreadExecutor()
val futureTask = executor.submit {
println("I'm Callable task.")
1 + 1
}
println(futureTask.get())
executor.shutdown() }
Вывод:
I'm Callable task.
null
Какой правильный синтаксис для Future
?