如何在Java中过滤列表结果

时间:2016-01-09 19:39:15

标签: java arrays list

我正在尝试使用Java“过滤”列表格式的结果。这段代码的目的是通过使用汽车品牌作为过滤器参数来显示汽车品牌的所有型号。例如,列出所有模型,其中make == BMW。以下是代码的相关摘要:

public String getMake() {
    return make;
}


public void setMake(String value) {
    this.make = value;
}


public String getModel() {
    return model;
}


public void setModel(String value) {
    this.model = value;
}

public String ListMake(List thelist) {
    String listmake = "<ul>";
    if (thelist == theCarList) { 
        for (int i = 0; i < thelist.size(); i++) {
            Car curCar = (Car) thelist.get(i); 
            listmake = listmake + "<li>" + (curCar.getModel() + "</li>"); 
        }
    }

    listmake += "</ul>";
    System.out.println("URL = " + URL);
    tooltipstring = readwebsite(URL);
    String html = "<html>" + tooltipstring + "</html>";
    Myface.setmytooltip(html);
    Myface.setmyinfobox(URL2);

    return listmake;
}

我遇到的问题是我无法根据其制作显示所有模型(curCar.getModel())。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在您的代码中,您有:

if (thelist == theCarList) { 
    for (int i = 0; i < thelist.size(); i++) {
        Car curCar = (Car) thelist.get(i); 
        listmake = listmake + "<li>" + (curCar.getModel() + "</li>"); 
    }
}

但是,为了显示宝马的某些品牌,你需要包括

if (thelist == theCarList) { 
    for (int i = 0; i < thelist.size(); i++) {
        Car curCar = (Car) thelist.get(i); 

        if(curCar.getMake().equals("BMW"){ //THIS IS THE LINE YOU ARE MISSING

            listmake = listmake + "<li>" + (curCar.getModel() + "</li>"); 
        }
    }
}

通过使用这个新的if语句,您确保汽车的品牌是您指定的

(您也可以将make的名称作为参数)

-Kore