我仍然习惯于在Java中使用流过滤器。我花了很长时间把这个传统的for循环转换成它,因为它有多个列表和多个条件。
CarTypes type = CarTypes();
String carVariant = type.isASedan();
String carType = "Default";
List<Cars> cars = new ArrayList<Cars>();
List<Cars> oldCars = cars.stream()
.filter(record -> record.getCarYear().equals("2000"))
.collect(Collectors.toList());
if (!oldCars.isEmpty()) {
for (Cars oldCar : oldCars) {
for (CarSpecs carspec : oldCars.getSpecs()){
if (carspec.getCarName().equalsIgnoreCase("Toyota")
&& carSpec.getVariant().equalsIgnoreCase("Corolla")
|| carSpec.getVariant().equalsIgnoreCase("Tacoma")) {
carVariant = carSpec.getVariant();
carType = Boolean.parseBoolean(type.isASedan()) ? "Corolla" : "Tacoma";
}
}
}
}
1条答案
按热度按时间sr4lhrrt1#
请尝试以下操作。
我通常只是链接 filter 调用。
在重新查看您的代码后,似乎 carVariant 可能是用于确定 carType 的内容。
如果是这种情况,请改用以下代码。