할인을 확인하는 public 메서드가 여러 개 있습니다. 코드를 여러 번 반복하지 않고 공개 메서드에서 액세스 할 수있는 private 메서드로 코드를 대량으로 사용하려고합니다. 여기에 코드가 있습니다. 이것이 가능한가?private 메서드를 호출하여 여러 개의 공용 메서드를 짧게 만들었습니다.
public static boolean isE1(WebOrder order)
{
if(order.getPromos().stream().filter(i -> E1.contains(i.toUpperCase())).findFirst().isPresent())
{
return true;
}
else
{
List<Discount> discounts = new LinkedList<>();
order.getItems().forEach(i -> discounts.addAll(i.getDiscounts()));
if(!discounts.isEmpty())
{
return discounts.stream()
.filter(i -> E1.contains(i.getCode().toUpperCase()))
.findFirst()
.isPresent();
}
else
{
return false;
}
}
}
public static boolean isE2(WebOrder order)
{
if(order.getPromos().stream().filter(i -> E2.contains(i.toUpperCase())).findFirst().isPresent())
{
return true;
}
else
{
List<Discount> discounts = new LinkedList<>();
order.getItems().forEach(i -> discounts.addAll(i.getDiscounts()));
if(!discounts.isEmpty())
{
return discounts.stream()
.filter(i -> E2.contains(i.getCode().toUpperCase()))
.findFirst()
.isPresent();
}
else
{
return false;
}
}
}
예? 너 뭐라고 묻는거야? – pvg
물론 가능합니다. 한 번 시도해보고 문제가 생기면 특정 문제에 관해 질문을 게시하십시오. –
E1과 E2 사이에는 아무런 차이가 없습니다. 왜 여러 가지 방법으로 시작해야합니까? – micker