Я изучаю Java, и мне нужно будет создать проект для университетского проекта.
public double getCreditAmount() {
return movementList.stream()
.filter(s -> s.getDate().before(tomorrow()))
.filter(s -> s.type() == MovementType.CREDIT)
.mapToDouble(s -> s.amount())
.reduce(Double::sum)
.orElse(0.0);
}
public double getDebitAmount(){
return movementList.stream()
.filter(s -> s.getDate().before(tomorrow()))
.filter(s -> s.type() == MovementType.DEBIT)
.mapToDouble(s -> s.amount())
.reduce(Double::sum)
.orElse(0.0);
}
public double updateBalance(){
return sumOfTotal = getCreditAmount()-getDebitAmount();
}
Это мой код, который, принимая перечисление (ДЕБЕТ ИЛИ КРЕДИТ), добавляет текущие значения А метод updateBalance вычитает их друг из друга. Но я понимаю, что таким образом получается повторяющийся код, которого я мог бы как-то избежать. Как я мог избежать повторения кода? Я знаю, что должен создать более общий метод, который избегает повторения кода getCreditAmount () и getDebitAmount (). Но как мне это сделать?