gpt4 book ai didi

java - 以这种方式将子类转换为父类有意义吗?

转载 作者:行者123 更新时间:2023-11-30 06:06:16 25 4
gpt4 key购买 nike

class Student{
}

class CollegeStudent extends Student{
}

我有一个 CollegeStudent 列表,我想将其转换为 Student 列表:

List<CollegeStudent> collegeStudents = getStudents();
List<Student> students = new ArrayList<Student>();
for(CollegeStudent s : collegeStudents){
students.add(s);
}

这是实现目的的适当方法吗?目的是否合理?我想这样做的原因是我需要创建另一个类,该类将 Student 列表作为参数,而不是 CollegeStduent 列表。

最佳答案

没问题,但还有一些更短的方法:

// Using the Collection<? extends E> constructor:
List<Student> studentsA = new ArrayList<>(collegeStudents);
// Using Collections.unmodifiableList which returns
// an unmodifiable view of the List<CollegeStudent>
// as a List<Student> without copying its elements:
List<Student> studentsB = Collections.unmodifiableList(collegeStudents);
// Older versions of Java might require a type
// witness for Collections.unmodifiableList:
List<Student> studentsC = Collections.<Student>unmodifiableList(collegeStudents);

关于java - 以这种方式将子类转换为父类有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44418264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com