содержимое списка после фильтра - PullRequest
0 голосов
/ 28 сентября 2018

Не могли бы вы, пожалуйста, дайте мне, как я могу распечатать содержимое лиц?

вывод кода:

 [Person@72ea2f77, Person@33c7353a, Person@681a9515, Person@3af49f1c,   
 Person@19469ea2]

код :

fun main(args: Array<String>) {
val person1 = Person("xyz1", 10);
val person2 = Person("xyz2", 20);
val person3 = Person("xyz3", 30);
val person4 = Person("xyz4", 40);
val person5 = Person("xyz5", 50);

var persons = listOf(
person1, person2, person3, person4 , person5)
.asSequence()
.filter { x-> x.age >=30 }

println(persons.toList())

}

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Один простой способ показать содержимое класса Person - переопределить метод toString в классе Persons.Вот рабочий пример:

fun main(args: Array<String>) {
    val person1 = Person("xyz1", 10);
    val person2 = Person("xyz2", 20);
    val person3 = Person("xyz3", 30);
    val person4 = Person("xyz4", 40);
    val person5 = Person("xyz5", 50);

    var persons = listOf(
            person1, person2, person3, person4, person5)
            .asSequence()
            .filter { x -> x.age >= 30 }

    println(persons.toList())

}

class Person constructor(val name: String, val age: Int) {
    override fun toString(): String {
        return "$name is $age years old."
    }
}

Будет выводить:

[xyz3 - 30 лет., Xyz4 - 40 лет., Xyz5 -50 лет.]

0 голосов
/ 28 сентября 2018

Вы можете реализовать метод toString() в классе Person или сделать класс Person a data class.

...