我正在try 使用泛型实现一个简单的方法,该方法首先从存储库中查找特定类型的所有记录,然后调用getId()方法来收集ID,然后打印该类型的所有ID.
我想为不同的类型调用该函数,例如水果/蔬菜/饮料
我的样例代码只适用于一种类型,但我很难在第二种方法中使用泛型,这样我就可以将其用于任何类型,而不仅仅是Fruit.有谁能给我指个方向吗?
void audit() {
printObjectIds(frutisRepository.findAll, Fruit::Id, "Fruits")
printObjectIds(vegetablesRepository.findAll, Vegetable::Id, "Vegetables")
printObjectIds(drinksRepository.findAll, Drink::Id, "Drinks")
}
void printObjectIds(Supplier<List<Fruit>> supplier, Function<Fruit, Integer> function, String type) {
List<Integer> objectIds = supplier.get()
.stream()
.map(function)
.toList();
log.info("Type: {}", code)
objectIds.forEach(id -> log.info("Items: {}", objectIds))
}
提前谢谢你
我try 了附加的示例代码并使用类型擦除,但无法使其正常工作