Articles of kotlin interop

Kotlin Vertx Тип Несоответствие найдено Future <Unit> ожидаемый обработчик <AsyncResult <Void >>

Я думал, что в Котлине Unit была эквивалентна Void . С помощью службы Vert.x Service Discovery невозможно передать Future<Unit> чтобы unpublish(String id, Handler<AsyncResult<Void>> resultHandler) (дает несоответствие типа), но он будет принимать Future<Void> без каких-либо проблем , Почему это и есть решение, или мне просто нужно жить с помощью Void ?

Заявление о создании платформы с сопоставимым

Я получаю сообщение об ошибке Clarity Platform Clash от компилятора в результате нескольких реализаций по умолчанию интерфейсов Comparable (показано ниже). interface ClassA: Comparable<ClassA> { val x: Int get override fun compareTo(other: ClassA): Int = this.x.compareTo(other.x) } interface ClassB: Comparable<ClassB> { val y: String get override fun compareTo(other: ClassB): = this.y.compareTo(other.t) } data class ClassAB(val x: […]

Kotlin – видимость атрибута для сопутствующего объекта

Поэтому у меня есть код ниже, написанный в Котлине. Я получаю ошибку компиляции в последней строке инструкции ( return params.keys.containsAll(MANDATORY_PARAMS) ), компилятор говорит Unsolved reference: MANDATORY_PARAMS , но я действительно не понимаю почему. Я думал, что объекты-компаньоны должны иметь какую-то видимость в атрибутах классов, к которым они «ведут компанию». Что я могу сделать, чтобы решить […]

Почему некоторые методы настройки Java автоматически становятся свойствами Kotlin, а некоторые нет?

например, этот класс Java WebSettings . Он имеет метод setJavaScriptEnabled(boolean) который превращается в свойство Kotlin javaScriptEnabled как javaScriptEnabled ниже, но также есть setSupportZoom(boolean) , который не превращается в свойство свойства supportZoom . settings.javaScriptEnabled = true settings.domStorageEnabled = true settings.setSupportZoom(false) settings.builtInZoomControls = false settings.setSupportMultipleWindows(true)

Требуется <Объект> и найден <Объект>?

class TaskRepo(taskData: TaskData) { companion object { private val repoByTask: LRUMap<String, OrderFormRepo> = LRUMap(2, 10); fun getInstance(taskData: TaskData): OrderFormRepo { if (notFoundObject(taskData.taskId)) { repoByTask[taskData.taskId] = OrderFormRepo(taskData); } return repoByTask[taskData.taskId];//PROBLEM HERE } private fun notFoundObject(taskId: String): Boolean { if (repoByTask.containsKey(taskId) && repoByTask[taskId] != null) { return false } return true } } } в методе getInstance […]

kotlin: синтаксис для 2 лямбда-параметра

Я новичок в kotlin. У меня есть класс java с 2 перегруженными методами. Один принимает одну функцию, другой принимает два mapToEntry(Function<? super T, ? extends V> valueMapper) а также mapToEntry(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends V> valueMapper) nowm в kotlin, я пытаюсь вызвать версию с двумя параметрами (как в […]

Как определить свойство типа класса с помощью get () в Котлине

Как определить свойство, используя get () в Kotlin, который возвращает класс, я пытался использовать ниже, но он не компилируется val targetActivity: Class<?> get() = MyActivity.class

Kotlin Неразрешенная ссылка: println от gradle на CLI

Полагая инструкцию println перед возвратом сбоев, функция kotlin. трассировки стека: thufir@dur:~/NetBeansProjects/kotlin$ thufir@dur:~/NetBeansProjects/kotlin$ gradle clean build –stacktrace w: Classpath entry points to a non-existent location: e: /home/thufir/NetBeansProjects/kotlin/src/main/kotlin/example.kt: (14, 5): Unresolved reference: println > Task :compileKotlin Using Kotlin incremental compilation FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileKotlin'. > Compilation […]

Как легко потреблять продюсера канала Kotlin на Java?

В рамках работы над разработкой нового API я изучаю использование Kotlin. Первоначально я хочу, чтобы API Kotlin использовался в проекте Java (Android), но в долгосрочной перспективе я надеюсь полностью принять Котлина. В рамках улучшения реализации долговременного процесса я хочу использовать сопрограммы. В частности, производитель канала из пакета kotlinx.courtines . Например: fun exampleProducer() = produce { […]

Вывод лямбда-типа Java не работает должным образом в Котлине

Почему эта часть кода Java не компилируется в Kotlin без явного параметра типа в Collectors.toList<String>() ? Есть ли более идиоматический способ сделать это? // works List<String> folders = Files.walk(Paths.get(args[0])) .filter(it -> it.toFile().isDirectory()) .map(it -> it.toAbsolutePath().toString()) .collect(Collectors.toList()); // does not compile – resulting type is `MutableList<in String!>..List<Any?>?` which is not compatible to `List<String>` val folders: List<String> […]