如何检查参数是字符串还是整数

时间:2019-08-17 11:13:42

标签: generics kotlin

我写了一个只有一个参数的函数getResult()

  • 如果附加的参数的类型为Int,则返回的值是该参数的值乘以5。

  • 如果附加的参数的类型为String,则返回的值是字符长度。

  • 如果附加参数的类型不是IntString,则返回值为0。

我怎么写getResult()使其返回6?

fun main() {
    val stringResult = getResult("Kotlin")
    val intResult = getResult(100)

    println(stringResult)
    println(intResult)
}

fun <T> getResult(args: T) {
    // ???
}

1 个答案:

答案 0 :(得分:1)

您可以这样写:

fun <T> getResult(args: T): Int =
    when (args) {
        is Int -> args * 5
        is String -> args.length
        else -> 0
    }