1

MethodHandle を使用するには、no-return-type: void を表す必要があります。Javaでは(はい、動作します)、scalaでは次を使用してvoid.class取得できます。int.class

scala> classOf[Int]
res1: Class[Int] = int

、しかし、を使用するclassOf[Void]と、

scala> val t = classOf[Void]
t: Class[Void] = class java.lang.Void

scala> t.isPrimitive
res4: Boolean = false

明らかにそうではありませんvoid.class

4

4 に答える 4

4

Scala の戻り値の型に関する Andrew Jones の回答を参照してください。それでも必要な場合:

scala> val c = java.lang.Void.TYPE
c: Class[Void] = void

scala> c.isPrimitive
res0: Boolean = true
于 2013-11-11T01:47:19.637 に答える
4
scala> classOf[Unit]
res0: Class[Unit] = void
于 2013-11-11T02:57:58.217 に答える
1

それ以外の

classOf[Void]

、 使用する:

Void.TYPE

REPL 出力:

scala> classOf[Void]
res14: Class[Void] = class java.lang.Void

scala> Void.TYPE
res15: Class[Void] = void
于 2013-11-11T01:49:38.797 に答える