こんにちは私はコモンズコレクションジェネリック4.01を使用しています。
dtoオブジェクトがあります。
Class PricingDto {
private Double tax;
private Double price;
private Double tip;
// getters and setters
}
私はのリストを持っていますList<PricingDto> pricingDtos = this.pricingService.getAllPricings();
私がプライベート静的クラスを持っているよりも。
import org.apache.commons.collections15.Transformer;
import org.apache.commons.collections15.list.TransformedList;
class TotalServiceImpl implements TotalService {
public static final PricingDtoTransformer PRICING_DTO_TRANSFORMER =
new PricingDtoTransformer();
private static class PricingDtoTransformer
implements Transformer<PricingDto, Double> {
public PricingDtoTransformer() {}
@Override
public Double transform(final PricingDto pricingDto) {
return pricingDto.getTax()
+ pricingDto.getPrice()
+ pricingDto.getTips();
}
}
@Override
public List<Double> getListDouble(final List<PricingDto> pricingDtos) {
final List<Double> totalList =
TransformedList.decorate(pricingDtos, PRICING_DTO_TRANSFORMER);
for (Double d : totalList) {
// print them.
}
}
}
}
私の問題は、totalListの各アイテムがPricingDtoであり、Doubleではないため、クラスキャスト例外が発生することです。
2.)私は何を間違えましたか。ジェネリックスコモンズコレクションのカスタムトランスフォーマーを実装する正しい方法は何ですか。