fun <reified R> Array<*>.filterIsInstance(): List<R>
fun <reified R> Iterable<*>.filterIsInstance(): List<R>
Returns a list containing all elements that are instances of specified type parameter R.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
open class Animal(val name: String) {
override fun toString(): String {
return name
}
}
class Dog(name: String): Animal(name)
class Cat(name: String): Animal(name)
val animals: List<Animal> = listOf(Cat("Scratchy"), Dog("Poochie"))
val cats = animals.filterIsInstance<Cat>()
println(cats) // [Scratchy]
//sampleEnd
}
fun <R> Array<*>.filterIsInstance(klass: Class<R>): List<R>
fun <R> Iterable<*>.filterIsInstance( klass: Class<R> ): List<R>
Returns a list containing all elements that are instances of specified class.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
open class Animal(val name: String) {
override fun toString(): String {
return name
}
}
class Dog(name: String): Animal(name)
class Cat(name: String): Animal(name)
val animals: List<Animal> = listOf(Cat("Scratchy"), Dog("Poochie"))
val cats = animals.filterIsInstance(Cat::class.java)
println(cats) // [Scratchy]
//sampleEnd
}
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance.html