在 Kotlin 中将多个变量类型传递给类或函数的单个变量?

Pass Multiple Variable Types To a Single Variable Of a Class or a Function in Kotlin?

提问人:Haris 提问时间:7/2/2021 更新时间:7/2/2021 访问量:715

问:

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

var name: Int | String = 5

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

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

问题是我必须在另一个使用相同函数的用例中传递不同的绑定

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

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

Android Kotlin 参数传递

评论


答:

0赞 Sachin Rajput 7/2/2021 #1

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

您可以使用参数类型作为,然后在开始使用该参数值后,键入 check if trying to do something with or or based on your type。它将解决您的问题AnyStringInt

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

0赞 Md shah samir 7/2/2021 #2

var 变量:Any = 5 它将根据您分配给它的值工作。 您还可以根据逻辑进行条件分配 var v = if(a > 5) “大数” else “小数” 只是一个例子,没有别的