1
我有這個單片Java應用程序,我想移植到更新的技術,我想在任何有意義的地方應用Scala。爲什麼我不能將Scala對象分配給Java變量?
現在我翻譯了一個相當巨大的java單例類實現到一個Scala對象。
在另一類我用來做這個(JAVA):
public class MyOtherClass
{
protected MyClass myClass;
public MyOtherClass()
{
myClass = MyClass.getInstance();
}
}
現在,我想做到以下幾點:
public class MyOtherClass
{
protected MySCALAClass myClass;
public MyOtherClass()
{
myClass = MySCALAClass$.MODULE$;
}
}
但是,這是行不通的。它說:
要求MyScalaClass,發現MyScalaClass $
我也試圖創建一個小功能
def getInstance() = this
但當然,這會產生同樣的問題。
任何想法?我已經搜索了這個話題,如果你只是想調用這個對象的方法,我會發現它不是一個問題,但是我需要重寫許多對「myClass」對象的調用來測試它。
編輯:我深知,我可以每次調用「myClass的」到「MySCALAClass」重命名,但沒有真正的解決,只是一種變通方法,它是一個大項目乏味。
您可能需要將myClass變量聲明爲protected MySCALAClass $ myClass; – neuronaut