Scalaクラスから自前のJavaクラスを呼び出し変数の参照渡しのようなことはできるのでしょうか
以下のエラーが発生し解決でません
value getContextVal is not a member of object main.SampleThread ScalaSample.scala
Java
1// Mapのキー"XXX" , 値"aa"をもつ 2public class SampleThread 3 public Map<Thread, String> map = new Map<Thread, String>(); 4 public String context = "aa"; 5 6 public String getContextVal() { 7 return map.get(Thread.currentThread()); 8 } 9 public void putVal() { 10 return map.put(Thread.currentThread(), context); 11 }
Scala
1class ScalaSample { 2// Scalaでやりたいことです 3// JavaクラスのSampleThreadのgetContextValから値を上書きたいです 4 5val sval:String = main.java.SampleThread.getContextVal 6// キー"XXXX"の値を"bb"に設定する 7sval.setContext("bb") 8} 9
Java
1// メインクラスで呼び出す 2public class SampleMain { 3 public static void main(String args){ 4 SampleThread th = new SampleThread(); 5 th.putVal(); 6// ここでScalaクラスが実行されるように実装してます 7 System.out.println(th.getVal()); 8 } 9}
Java
1//Javaの実行結果 2 bb
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/27 01:30