5

scala ファイルの 1 つでメソッドのパラメーター名を取得する必要があります。-parameterコンパイラ オプションを使用することで、これを Java で機能させることができます。ただし、scalac で -parameter オプションが見つからなかったため、scala でこれを行うことはできません。

どうすればこれを達成できますか? SOでこの回答を見ましたが、古い回答です。このオプションは java8 でのみ提供されているため、scala(2.11) では使用できませんか? ハックはありますか?

EDIT:(サンプルのscalaコードを追加)

class ReflectionTest {
  def method(name: String, id: Long, desc: String) = {
    println("Inside the method");
  }
}

ReflectionTestクラスのメソッドパラメーターを読み取ろうとしていますmethod()

object Test extends App {
  val methods= Class.forName("com.reflection.ReflectionTest").getMethods
  methods filter(_.getName == "method") map { method =>
    val param = method.getParameters
    param.map {p =>
      println("Method : "+method.getName+" , Parameter : "+p.getName)
    }
  }
}

スカラのバージョン:2.11.2

JDK バージョン:1.8

SBT バージョン :0.13.1

4

0 に答える 0