使用通用参数声明函数

时间:2019-06-19 13:46:21

标签: kotlin

我有以下两个功能:

fun displayTotalSelectedString(btn: ListItemButton, items: MutableList<String>?, resId: Int) {
    btn.text = if ((items == null) || (items.size == 0)) getString(resId) else getString(resId) + "  (" + items.size + ")"
}

fun displayTotalSelectedInt(btn: ListItemButton, items: MutableList<Int>?, resId: Int) {
    btn.text = if ((items == null) || (items.size == 0)) getString(resId) else getString(resId) + "  (" + items.size + ")"
}

除了两个函数中的第二个参数外,它们几乎相同。一个使用通用字符串,另一个则使用Int。

有没有一种方法可以创建只处理两个泛型的单个函数。我尝试过MutableList<Any>?,但被拒绝了。

1 个答案:

答案 0 :(得分:0)

您尝试过

fun <T> displayTotalSelectedInt(btn: ListItemButton, items: 
    MutableList<T>?, resId: Int) {
    btn.text = if ((items == null) || (items.size == 0)) getString(resId) else getString(resId) + "  (" + items.size + ")"
}