2017-01-03 1 views
0

У меня есть этот код:Использование функций интерфейса в способе общего типа возвращаемого с одной строкой

public class FunctionTest { 

    public Double getDouble(Function<Integer, Double> function) { 
     function = t -> Double.valueOf(t); 
     return function.apply(???); //not sure how to implement this 
    } 

    public Function<Integer, Double> getFunction(Integer t) { 
     return r -> Double.valueOf(t); // not able to fetch value from this as the return type is Function 
    } 

    public static void main(String[] args) { 

     Function<Integer, Double> f = t -> Double.valueOf(t); // works fine 
     System.out.println(f.apply(4)); // how to aechive this using method? 
     System.out.println(f); 
    } 

} 

Если вы видите t -> Double.valueOf(t) отлично работает с комбинацией f.apply(4) теперь вопрос в том, как разработать метод же я попытался два метода, но не удалось.

Пожалуйста, помогите мне в этом.

ответ

0

К сожалению, я просто понял, как это сделать, был простой, но не уверен, если он эффективен

public Function<Integer, Double> getFunction() { 
     return r -> Double.valueOf(r); 
    } 

, а затем

object.getFunction().apply(integer) 
+2

вы можете упростить ваш 'getFunction()' в ' return Double :: valueOf' – Ash

+0

Спасибо, что очень удобно :) – user7036414

Смежные вопросы