我有一个代码段:
private static <T> Provider<T> getProviderInstance(T value) {
return new Provider<T>() {
@Override
public T get() {
return value;
}
};
}
我想使用lambda对其进行重构.我怎样才能做到这一点?
最佳答案
假设Provider是具有抽象get()方法的Functional接口,如下所示
@FunctionalInterface
interface Provider<T>{
abstract T get();
}
然后相应的lambda表达式为
Provider<String> p = ()->"hello";
System.out.println(p.get()); //hello