我有以下代碼:
private inline fun <reified T : Number> T.test(): T {
if (T::class.java == Double::class.java) {
return 0.0
}
return this
}
我希望這會起作用(只要我檢查了 的型別T),但 IDE 指出了這一點:
浮點文字不符合預期的型別
T

有什么辦法讓它作業嗎?
uj5u.com熱心網友回復:
您必須將其轉換為 T ,因為編譯器不夠復雜,無法弄清楚。
private inline fun <reified T : Number> T.test(): T {
if (T::class == Double::class) {
return 0.0 as T
}
return this
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/405254.html
標籤:
下一篇:基于可選泛型引數的回傳型別
