2016-04-18 94 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' –