2016-04-18 90 views
8

是否有一个整洁的方法可以在斯卡拉打印变量的类名?斯卡拉变量的打印类型

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

+1

在intellij中你可以使用'alt' +'=' –

+0

@Łukasz,感谢并投票了,我的意思是在程序运行时动态地在控制台中,因为类型是通过动态运行值来决定的。 :) –

回答

11

快速和肮脏的把戏我经常使用

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

,编译器会产生一个错误,为您提供有关它发现实际的返回类型的信息。

+0

谢谢加布里埃尔,投票了。是否有动态打印类型的方法,因为方法'foo'具有不同类型的动态返回,并将在运行时决定。 –

+1

@ LinMa,这是一个非常不同的问题,你问的问题:)我绝对需要一个更全面的例子来给出一个合适的答案 –

+1

如果你想要一个真正的运行时间类,只需使用'result.getClass'。 'Set(1).getClass'会输出'class scala.collection.immutable.Set $ Set1' –