简体   繁体   English

如何从scala方法访问Java方法的“获取器”?

[英]How do I access a “getter” of a Java method from a scala method?

I have a Java method that looks something like this: 我有一个看起来像这样的Java方法:

public class JavaClass{

private static ArrayList<String> stringModel= new ArrayList<String>();

public JavaClass (String name) {
-----------------------------
-----------------------------
     /*Do required operations*/
-----------------------------
-----------------------------

}

public static ArrayList<String> getStringModel() {
    return autosarModel;
}
public static void setStringModel(ArrayList<String> stringModel) {
    JavaClass.stringModel = stringModel;
}

I am trying to access the getStringModel from my scala classthat looks something like this: 我试图从我的Scala类访问getStringModel,它看起来像这样:

 val sm = new JavaClass("Folder1")
 val x = sm.getStringModel

I can seem to use the setStringModel from this scala class, but for some reason I get an error saying: 我似乎可以从此Scala类使用setStringModel,但是由于某种原因,我收到一条错误消息:

"value getStringModel" not found. 找不到“值getStringModel”。

Can somebody tell me what am I doing wrong here? 有人可以告诉我我在做什么错吗?

The method is static , meaning it's defined on the class rather than an instance of the class. 该方法是static ,意味着它是在上定义的,而不是在实例上定义的。

You need: 你需要:

val model = JavaClass.getStringModel("Folder1")

Can't you just change the access of the static element as public and just use it? 您不能只是将静态元素的访问权限更改为public而是使用它吗?

 object howToGetStaticValue {
      def main(arg:Array[String]): Unit ={
         println(JavaClass.stringModel)

     }
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM