Почему приведенный ниже код работает нормально и не жалуется на то, что возвращаемым типом функции является целое число вместо двойного?
public static void main(String[] args) {
double principle = 100;
int interestrate = 5;
double amount = compute(principle, x->x*interestrate);
}
public static double compute(double base, Function<Integer, Integer > func){
return func.apply((int)base);
}