Kotlin компилирует java 12 и kotlin внутри Eclipse или командной строки

#eclipse #kotlin #java-12 #kotlinc

#eclipse #kotlin #java-12 #kotlinc

Вопрос:

Я попытался создать простое приложение командной строки Kotlin

 import java.RegistroJ

class Main
fun main(){
    var registro:RegistroJ? = RegistroJ()
    registro?.setCognome("Baudo")
    registro?.setNome("Pippo")
    var registro2:RegistroJ = RegistroJ()
    registro?.setNext(registro2)
    registro2.setCognome("Ballo")
    registro2.setNome("Pluto")
    var registro3:RegistroJ? = RegistroJ()
    registro2.setNext(registro3)
    registro3?.setCognome("LOL")
    registro3?.setNome("ABC")
    
    while(registro != null){
        println("Hello "   registro.getNome()   " "   registro.getCognome())
        registro = registro.getNext()
    }
}
  

и действительно простой класс Java

 package java;

public class RegistroJ {
    private String cognome;
    private String nome;
    private RegistroJ next;
    
    public String getCognome() {
        return cognome;
    }
    public void setCognome(String cognome) {
        this.cognome = cognome;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public RegistroJ getNext() {
        return next;
    }
    public void setNext(RegistroJ next) {
        this.next = next;
    }
}
  

Но когда я пытаюсь скомпилировать все внутри Eclipse, я не получаю ошибки, но мой kotlin .class не обновляется.
У меня есть эквивалент kotlin этого класса, и с ним все работает.
Но я хочу иметь возможность интегрировать свой java-класс в kotlin
Если я пытаюсь скомпилировать из командной строки, я получаю:

Main.kt:1:13: ошибка: неразрешенная ссылка: RegistroJ

Как я могу решить эту проблему?

Комментарии:

1. Я провел некоторое исследование…. Я почти уверен, что это всего лишь ошибка плагина eclipse. Я думаю, что на данный момент я просто вернусь к Java, мне все равно не нравится kotlin (нулевая безопасность — это беспорядок с вопросительным знаком, и мне не очень нравится var namevariable : Type), а java работает намного лучше в eclipse (мне не очень нравится intellij).

2. Да, я могу это подтвердить. Android studio, тот же код, все работает так, как ожидалось. Итак, это проблема с плагином eclipse kotlin и компилятором kotlinc. На Android работает смесь kotlin и Java.

Ответ №1:

Как я уже говорил в своих комментариях:

Я провел некоторое исследование…. Я почти уверен, что это всего лишь ошибка плагина eclipse. Я думаю, что на данный момент я просто вернусь к Java, мне все равно не нравится kotlin (нулевая безопасность — это беспорядок с вопросительным знаком, и мне не очень нравится var namevariable : Type), а java работает намного лучше в eclipse (мне не очень нравится intellij).

Да, я могу это подтвердить. Android studio, тот же код, все работает так, как ожидалось. Итак, это проблема с плагином eclipse kotlin и компилятором kotlinc. На Android работает смесь kotlin и Java.