filterIsInstanceTo
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
}
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
}