Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 通过反射检索方法时出现NoSuchMethodException_Scala_Reflection_Types - Fatal编程技术网

Scala 通过反射检索方法时出现NoSuchMethodException

Scala 通过反射检索方法时出现NoSuchMethodException,scala,reflection,types,Scala,Reflection,Types,我正在尝试通过is名称获取类方法,例如: case class A(i : Int) {def geti = i} val a = A(123) val met = a.getClass.getMethod("geti") 这似乎有效,但如果我尝试在双人床上做同样的操作: val a:Double = 3.0 a.getClass.getMethod("toString") 我遇到了以下错误: java.lang.NoSuchMethodException: double.toString

我正在尝试通过is名称获取类方法,例如:

case class A(i : Int) {def geti = i}
val a = A(123)

val met = a.getClass.getMethod("geti")
这似乎有效,但如果我尝试在双人床上做同样的操作:

val a:Double = 3.0
a.getClass.getMethod("toString")
我遇到了以下错误:

java.lang.NoSuchMethodException: double.toString()
  at java.lang.Class.getMethod(Class.java:1786)

你能帮我找出我遗漏了什么吗?

来自
抽象最终类scala的文档。Double

双精度,64位IEEE-754浮点数(相当于Java的 双基元类型)是scala.AnyVal的子类型。实例 Double不由基础运行时中的对象表示 系统

存在来自scala的隐式转换。Double=> scala.runtime.richdoull,它提供了有用的非原语 行动


因此,scala
Double
s仅通过隐式转换为
richduble
,而class
Double
本身不包含此方法。

来自于
abstract final class scala的文档中。Double

双精度,64位IEEE-754浮点数(相当于Java的 双基元类型)是scala.AnyVal的子类型。实例 Double不由基础运行时中的对象表示 系统

存在来自scala的隐式转换。Double=> scala.runtime.richdoull,它提供了有用的非原语 行动

因此scala
Double
s通过隐式转换为
RichDouble
,只有
toString()
方法,而类
Double
本身不包含此方法