Scala

时间:2016-04-18 16:58:41

标签: scala

是否有一个简洁的方法可以在Scala中打印变量的类名?

有时我会看到val result = foo(a,b,c),因为方法foo可能返回不同类型的对象,如果我可以打印类型的结果,那就太棒了。

2 个答案:

答案 0 :(得分:16)

我经常使用的快速而肮脏的技巧

val result: Nothing = foo(a,b,c)

编译器将引发错误,为您提供有关它找到的实际返回类型的信息。

REPL的例子

scala> val foo: Nothing = 42
<console>:1: error: type mismatch;
found   : Int(42) // <---- this is what you care about
required: Nothing
      val foo: Nothing = 42

如果您使用IDE,则可以使用更多&#34;复杂的&#34;选项:

答案 1 :(得分:1)

使用Object.getClass方法。

请参见Scala Cookbook