如何創建Any類型的變量? 爲什麼isInstanceOf [Int]打印爲真? 我聲明x是Any,不是Int。Scala - 如何將任何類型的變量存儲在內存中?
它是如何工作的?幕後發生了什麼?
val x = 4: Any // OK
x.isInstanceOf[Int] // true
x.isInstanceOf[String] // false
[編輯]也許要改寫我的問題: 如何val x = 4: Any
樣子的記憶是什麼? 一旦它被存儲在內存中作爲Any
類型,我怎麼能後來說這個特殊的字節blob是Int
,但不是說String
?
它是否與某種信息一起出現「原始」類型?例如,如果我輸入4
AND LATER表示這是Any
類型,它是否會將此原始類型的4存儲爲Int
?
你的問題不清楚。什麼*確切*您的意思是「如何創建任何類型的變量」?你聲明一個類型爲「Any」的變量,就像你聲明一個任何其他類型的變量一樣,沒有什麼特別的「Any」,它只是一個類似任何其他類型的類型。事實上,你已經在你的代碼中做到了這一點! 「爲什麼isInstanceOf [Int]打印正確?」 - 因爲'4'是'Int'的一個實例。 –
我改寫了我的問題。 – paroxyzm