ラムダを使ってインタフェースの参照変数にオブジェクトを返すjavaのプログラムを理解しようとしています。ラムダを単純なJava関数に変換したいが、どうやってそれを行うのかはわからない。ラムダを関数/メソッドに変換する
次のようにプログラムがある: - ここに
public class AgentLicenseLazyModel extends CoreDataModel<AgentLicenseModel> {
public AgentLicenseLazyModel(final List<AgentLicenseModel> entities) {
super(AgentLicenseModel.class, entities, (sortField, sortOrder) -> {
return new AgentLicenseLazySorter(sortField, sortOrder);
});
}
}
は抽象クラスである:
public abstract class CoreDataModel<T extends AbstractEntityModel> extends LazyDataModel<T> {
private final Class<T> entityClass;
private final List<T> entities;
private final CoreDataSorterProducer<T> coreDataSorterProducer;
public CoreDataModel(final Class<T> entityClass, final List<T> entities, final CoreDataSorterProducer<T> coreDataSorterProducer) {
this.entityClass = entityClass;
this.entities = entities;
this.coreDataSorterProducer = coreDataSorterProducer;
if (entities != null) {
setRowCount(entities.size());
}
}
学習のためのラムダを使用せずに、簡単なJavaプログラムには、このプログラムを変換する方法。助けてください。編集
:
@FunctionalInterface
public interface CoreDataSorterProducer<T extends AbstractEntityModel> {
CoreDataSorter<T> produce(String sortField, SortOrder sortOrder);
}
私たちに 'CoreDataSorterProducer'クラスソースを表示 – Andrew
私はCoreDataSorterProducerを追加しました。ありがとう –