是否有一个简洁的方法可以在Scala中打印变量的类名?
有时我会看到val result = foo(a,b,c)
,因为方法foo
可能返回不同类型的对象,如果我可以打印类型的结果,那就太棒了。
答案 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
方法。