Общая функция для массивов со значением по умолчанию - PullRequest
0 голосов
/ 31 мая 2019

При написании функции, которая пытается прочитать строку из внешнего источника и предоставляет значение по умолчанию в случае, если она не может достичь источника, я мог бы написать такую ​​функцию:

fun <V : String?> getString(defValue: V): V {
    // ...
}

val s1: String = getString("Default")
val s2: String? = getString(null)

Так как String это последний класс, здесь нельзя использовать другой тип.Мне даже не нужно указывать тип s1 и s2, поскольку Kotlin может выяснить их самостоятельно, основываясь на типе значения по умолчанию, что приятно.Однако, если я хочу написать такую ​​функцию, скажем, для IntArray, я не могу написать такую ​​функцию, как:

fun <V : IntArray?> getIntArray(defValue: V): V { ... }

Здесь компилятор говорит:

Верхняя границапараметра типа не может быть массивом

Есть ли другой способ, которым я мог бы достичь этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...