Kotlin在Eclipse或命令行中编译Java 12和kotlin

问题描述

我试图创建一个简单的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没有更新。 我的科特林相当于那个班级,一切正常。 但是我希望能够将我的java类集成到kotlin 如果我尝试从命令行进行编译,则会得到:

Main.kt:1:13:错误:未解决的引用:RegistroJ

我该如何解决这个问题?

解决方法

就像我在评论中说的那样:

我做了一些研究。...我几乎可以肯定,这只是一个eclipse插件错误。我想我现在将恢复为Java,无论如何我都不喜欢kotlin(null安全性是一个问号,而且我真的不喜欢var namevariable:Type),并且java在eclipse上工作得更好(我不太喜欢intellij)。

是的,我可以确认这一点。 Android studio,相同的代码,一切正常。所以这是eclipse kotlin插件和kotlinc编译器的问题。在Android上,混合使用kotlin和Java即可。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...