Kotlin 泛型中 "*" 和 "Any" 的区别
在任何编程语言中,泛型都是一项强大的功能,使用它,开发人员可以创建自定义数据类型以使用不同的方式处理程序。有许多方法可以在 Kotlin 中定义泛型。
在本文中,我们将演示 Kotlin 中 "*" 和 "Any" 关键字之间的区别。
当我们使用 "*" 定义集合时,它应该仅包含该类型的对象。集合内部的数据类型之间不应有任何混合和匹配。
如果我们使用 “Any”,我们可以混合和匹配数据类型,这意味着我们可以在集合中有多个数据类型。
示例 - “*” 的用法
fun main(args: Array<String>) {
val num = arrayOf(1, 2, 3, 4)
ArrayUtil().findElement(num,2)
}
class ArrayUtil(){
// passing generic array to a function
fun findElement(array:Array<*>,element:Int){
for(i in array.indices){
if(array[i]==element){
println("Element found at " +i)
}
}
}
}输出
它将生成以下输出
Element found at 1
示例 - “Any” 的用法
fun main(args: Array<String>) {
var objet = genericsExample<String>("JAVA")
var objet1 = genericsExample<Int>(10)
}
class genericsExample<Any>(input:Any?) {
init {
println("I am getting called with the value "+input)
}
}输出
它将生成以下输出
I am getting called with the value JAVA I am getting called with the value 10
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP