我知道斯卡拉沒有什麼是底部類型。當我看到API是從層次結構頂部的「任何」擴展而來的。斯卡拉沒有數據類型
既然Scala不支持多繼承,那麼我們怎麼能說它是底層類型。換句話說,它並不直接繼承Seq,List,String,Int等所有的類或特性。如果是這種情況,我們怎麼能說它是所有類型的底部?
我的意思是,如果我們能夠將List [Nothing](Nil)分配給List [String],因爲List在scala中是協變的,因爲Nothing和String類型之間沒有直接關聯,所以它是可能的。正如我們所知,沒有什麼是最基本的類型,但我很難看到String和Nothing之間的關係,正如我在上面的例子中所述。
感謝&問候,穆罕默德
'對於所有類型'T'都沒有擴展T'。因此,'Nothing extends String' –
我不是100%確定你的問題是什麼,但是編譯器知道Nothing並且知道它是其他類型的子類型,因爲它在編譯器中是硬編碼的。標準庫中沒有真正的Nothing.scala文件,它說'特性Nothing用Int來擴展字符串,用Double ...來擴展。 –