我有一個函數,它獲取一個帶有模型名稱的字符串並返回該case類的一個實例,但是我想知道在這個函數中使用動態返回類型的正確方法是什麼?在Scala功能中使用動態返回類型
case class Person(fname: String, lname: String)
case class Animal(type: String, weight: Double)
def getInstanceOf(model: String): ??? = model match {
case "person" => Person("jack", "robinson")
case "animal" => Animal("lion", 190.0)
}
謝謝!
您能想出一個基類爲所有可能的輸出類型,但是您仍然必須轉換爲特定類型才能訪問類型特定的方法。通常,從單一方法返回不相關的類型是個不錯的主意。 – jwvh
在編譯時您無法知道甚至在運行時才存在的信息。類型是編譯時的概念。 –