import java.util.List;
class Ideone {
public static void main
(String[] args
) { Student.of(1.0),
"foo",
Student.of(2.0),
Student.of(3.0),
Student.of(4.0));
System.
out.
println(sumScore
(students
)); }
public static double sumScore
(List students
) { return ((List<?>) students).stream()
.filter(o -> o instanceof Student)
.map(o -> (Student) o)
.mapToDouble(Student::getScore)
.sum();
}
}
class Student {
final double score;
private Student(double score) {
this.score = score;
}
public static Student of(double score) {
return new Student(score);
}
public double getScore() {
return score;
}
}
aW1wb3J0IGphdmEudXRpbC5MaXN0OwoKY2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJTGlzdCBzdHVkZW50cyA9IExpc3Qub2YoCgkJCQlTdHVkZW50Lm9mKDEuMCksCgkJCQkiZm9vIiwKCQkJCVN0dWRlbnQub2YoMi4wKSwKCQkJCW5ldyBPYmplY3QoKSwKCQkJCVN0dWRlbnQub2YoMy4wKSwKCQkJCVN0dWRlbnQub2YoNC4wKSk7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKHN1bVNjb3JlKHN0dWRlbnRzKSk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZG91YmxlIHN1bVNjb3JlKExpc3Qgc3R1ZGVudHMpIHsKCQlyZXR1cm4gKChMaXN0PD8+KSBzdHVkZW50cykuc3RyZWFtKCkKCQkJLmZpbHRlcihvIC0+IG8gaW5zdGFuY2VvZiBTdHVkZW50KQoJCQkubWFwKG8gLT4gKFN0dWRlbnQpIG8pCgkJCS5tYXBUb0RvdWJsZShTdHVkZW50OjpnZXRTY29yZSkKCQkJLnN1bSgpOwoJfQp9CgpjbGFzcyBTdHVkZW50IHsKCWZpbmFsIGRvdWJsZSBzY29yZTsKCQoJcHJpdmF0ZSBTdHVkZW50KGRvdWJsZSBzY29yZSkgewoJCXRoaXMuc2NvcmUgPSBzY29yZTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHVkZW50IG9mKGRvdWJsZSBzY29yZSkgewoJCXJldHVybiBuZXcgU3R1ZGVudChzY29yZSk7Cgl9CgkKCXB1YmxpYyBkb3VibGUgZ2V0U2NvcmUoKSB7CgkJcmV0dXJuIHNjb3JlOwoJfQp9