是否有一个整洁的方法可以在斯卡拉打印变量的类名?斯卡拉变量的打印类型
有时我看到val result = foo(a,b,c)
,因为方法foo
可能会返回不同类型的对象,如果我可以打印类结果类型,它会很好。
是否有一个整洁的方法可以在斯卡拉打印变量的类名?斯卡拉变量的打印类型
有时我看到val result = foo(a,b,c)
,因为方法foo
可能会返回不同类型的对象,如果我可以打印类结果类型,它会很好。
快速和肮脏的把戏我经常使用
val result: Nothing = foo(a,b,c)
,编译器会产生一个错误,为您提供有关它发现实际的返回类型的信息。
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,你可以使用更多的 “高精尖” 选项
谢谢加布里埃尔,投票了。是否有动态打印类型的方法,因为方法'foo'具有不同类型的动态返回,并将在运行时决定。 –
@ LinMa,这是一个非常不同的问题,你问的问题:)我绝对需要一个更全面的例子来给出一个合适的答案 –
如果你想要一个真正的运行时间类,只需使用'result.getClass'。 'Set(1).getClass'会输出'class scala.collection.immutable.Set $ Set1' –
在intellij中你可以使用'alt' +'=' –
@Łukasz,感谢并投票了,我的意思是在程序运行时动态地在控制台中,因为类型是通过动态运行值来决定的。 :) –