5
Kotlinでこのようなことを反映させる方法はありますか? inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: kotlin.String?): T?
にT行きKotlinのEnum.valueOf
Typeパラメータ満たさない:
inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: String?): T? { return java.lang.Enum.valueOf(T::class.java, type) }
以下の例では、原因には、コンパイルされない推論タイプ
TestEnum?
kotlin.Enum<TestEnum?>
enum class TestEnum
fun main() {
val value: TestEnum? = safeValueOf("test")
}
のサブタイプではありません
明示的に型パラメータ値を指定した場合、あなたの機能が動作します: 'ヴァルvalue = safeValueOf( "test") ' –
yole
[' valueOf']のKotlin実装(https://kotlinlang.org/docs/reference/enum-classes.html#working-with-enum-constants)を使用するだけでは、 ? – soon
@yoleありがとうございました。これを答えとして投稿してもよろしいですか? – AndroidEx