【发布时间】:2022-01-03 13:45:44
【问题描述】:
我正在循环通过 LinkedHashMap 并递增 i 计数器,下面是我过去使用 for 循环的方式。
int i = 0;
for (Map.Entry<String, String> entry : linkedHashMap.entrySet()) {
Car car = new Car();
car.setCarId(String.valueOf(i++));
car.setCarName(entry.getKey());
car.setOdometerReading(entry.getValue());
appRoomRepository.insertCarDetails(car);
}
下面是我想如何使用 foreach 循环
int i = 0;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
linkedHashMap.forEach((key, value) -> {
Car car = new Car();
car.setCarId(String.valueOf(i++));
car.setCarName(key);
car.setOdometerReading(value);
appRoomRepository.insertCarDetails(car);
});
}
我卡在这条线上car.setCarId(String.valueOf(i++));
我不断收到此错误“lambda 表达式中使用的变量应该是最终的或有效的最终”。如何增加计数器i?
【问题讨论】:
标签: java android foreach hashmap linkedhashmap