小编in7*_*sky的帖子

使用泛型从三个相似的方法中创建一个简洁的方法

我已经尝试用泛型做一些事情,但似乎我个人找不到任何简单的解决方案。我仍然认为将这 3 种类似的方法保持原样是一种罪过。

    public List<PassengerPlane> getPassengerPlanes() {
        List<PassengerPlane> passengerPlanes = new ArrayList<>();
        for (Plane plane : planes) {
            if (plane instanceof PassengerPlane) {
                passengerPlanes.add((PassengerPlane) plane);
            }
        }
        return passengerPlanes;
    }

    public List<MilitaryPlane> getMilitaryPlanes() {
        List<MilitaryPlane> militaryPlanes = new ArrayList<>();
        for (Plane plane : planes) {
            if (plane instanceof MilitaryPlane) {
                militaryPlanes.add((MilitaryPlane) plane);
            }
        }
        return militaryPlanes;
    }

    public List<ExperimentalPlane> getExperimentalPlanes() {
        List<ExperimentalPlane> experimentalPlanes = new ArrayList<>();
        for (Plane plane : planes) {
            if (plane instanceof ExperimentalPlane) {
                experimentalPlanes.add((ExperimentalPlane) plane);
            } …
Run Code Online (Sandbox Code Playgroud)

java generics

10
推荐指数
1
解决办法
891
查看次数

标签 统计

generics ×1

java ×1