【问题标题】:Pass Multiple Variable Types To a Single Variable Of a Class or a Function in Kotlin?将多个变量类型传递给 Kotlin 中的类或函数的单个变量?
【发布时间】:2021-09-14 02:17:06
【问题描述】:

我搜索了很多,发现在kotlin中我们不能同时拥有多种类型的变量。就像在 typescript 我们有

var name: Int | String = 5

以下是问题,我必须使用相同的代码两次,这真的不是一个好的编程习惯,因为我必须重复它。

class Keyboard(private val context: Context, private val form: SomeBinding) {
    //some common functions
    fun startKeyboard() {
            theNumericPad()
            dot()
            backSpace()
            longPressBS()
        }
    }

问题是我必须在另一个使用相同功能的用例中传递不同的 Binding

class Keyboard(private val context: Context, private val form: SomeBinding) {
    //some common functions
    fun startKeyboard() {
            theNumericPad()
            dot()
            backSpace()
            longPressBS()
        }
    }

有没有办法为不同的用例传递不同的绑定。如果是,如何?如果没有,我还能用什么来重用代码?

【问题讨论】:

    标签: android kotlin parameter-passing


    【解决方案1】:

    在 Kotlin 中,Any 是所有类型的父级,

    您可以将参数类型用作Any,然后一旦您开始使用该参数值,请键入检查是否尝试使用StringInt 或根据您的类型执行某些操作。它会解决你的问题

    资源-https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/

    【讨论】:

      【解决方案2】:

      var 变量:任意 = 5 它将根据您分配给它的值工作。 您还可以根据逻辑进行条件分配 var v = if(a > 5) "大数" else "小数" 只是一个例子而已

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 2017-04-15
        • 2014-04-03
        • 2016-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-15
        相关资源
        最近更新 更多