0

我试图创建一个简单的 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

我怎么解决这个问题?

4

1 回答 1

0

就像我在评论中说的:

我做了一些研究......我几乎可以肯定这只是一个 Eclipse 插件错误。我想我现在会恢复到 java 反正我不喜欢 kotlin (空安全是一个问号混乱,我不太喜欢 var namevariable : Type thing)而且 java 在 eclipse 上工作得更好(我不太喜欢intellij)。

是的,我可以确认这一点。Android Studio,相同的代码,一切都按预期工作。所以这是eclipse kotlin插件和kotlinc编译器的问题。在 Android 上混合 kotlin 和 java 可以工作。

于 2020-09-06T22:00:21.337 回答