filterIsInstanceTo

Common
JVM
JS
Native
1.0
fun < reified R , C : MutableCollection < in R > > Sequence < * > . filterIsInstanceTo (
destination : C
) : C

(source)

Appends all elements that are instances of specified type parameter R to the given destination .

The operation is terminal .

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 = mutableListOf<Cat>()

println(cats) // []

animals.filterIsInstanceTo<Cat, MutableList<Cat>>(cats)

println(cats) // [Scratchy]
//sampleEnd
}
JVM
1.0
fun < C : MutableCollection < in R > , R > Sequence < * > . filterIsInstanceTo (
destination : C ,
klass : Class < R >
) : C

(source)

Appends all elements that are instances of specified class to the given destination .

The operation is terminal .

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 = mutableListOf<Cat>()

println(cats) // []

animals.filterIsInstanceTo(cats, Cat::class.java)

println(cats) // [Scratchy]
//sampleEnd
}