Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Kotlin. Перегрузка методов под тип Null

#kotlin #интерфейс #null


Добрый день.
Пытаюсь реализовать интерфейс примерно такого вида:

interface IDataConversions {
    fun setData(value: Boolean?)
    fun setData(value: Byte?)
    fun setData(value: Short?)
    fun setData(value: Int?)
    fun setData(value: Float?)
    fun setData(value: ByteArray?)
    fun setData(value: String?)
}


Однако заметил, что в таком случае придется в каждом методе проверять на Null

Есть возможность в Kotlin реализовать что-то типа такого? : 

interface IDataConversions {
    fun setData(value: "какой то Null тип")
    fun setData(value: Boolean)
    fun setData(value: Byte)
    fun setData(value: Short)
    fun setData(value: Int)
    fun setData(value: Float)
    fun setData(value: ByteArray)
    fun setData(value: String)
}

    


Ответы

Ответ 1



Также, как и в джаве, при перегрузке будет браться сначала более конкретный тип. Выглядит так, что вам просто нужно перегрузить метод с параметром Any?: interface IDataConversions { fun setData(value: Any?) fun setData(value: Boolean) fun setData(value: Byte) ... }

Комментариев нет:

Отправить комментарий