我有一个双精度类型值的成分ENUM:
@Getter
@AllArgsConstructor
public enum Ingredients
LETUCE(0.40),
BACON(2.00),
BEEF(3.00),
EGG(0.80),
CHEESE(1.50);
我有一个带字段的Burger类:
Long id;
String name;
Double price;
List<Ingredients> aditionalIngredients;
Burger类有一个List<Ingredients> aditionalIngredients
字段用于其他配料,我需要在JSON POST请求中将其他配料值与默认Burger价格相加,例如:
{
"name" : "Burger1",
"price" : 5.00,
"aditionalIngredients: ["LETUCE", "EGG"] //sum these 2 values to the burger default price
}
EXPECTED RETURN
{
"name" : "Burger1",
"aditionalIngredients: ["LETUCE", "EGG"]
"price" : 6.20 //0.40 + 0.80 + 5.00(burger price)
}
我试着这么做:
if(!burger.getAditionalIngredient().isEmpty()){
for( Ingredients a : Ingredients.values()){
burger.setPrice(burger.getPrice() + a.getValue());
}
}
但是返回了所有枚举值的总和,而不仅仅是["LETUCE","EGG]。
1条答案
按热度按时间7nbnzgx91#
这是因为你在重复所有的成分
试试看
顺便说一句,考虑将枚举重命名为
Ingredient
而不是Ingredients
,因为单个示例表示Ingredient
,而不是全部。