从 1.4 到 1.5,除了已记录的更改之外,似乎还有许多未记录的更改。
在 1.4 中,我有:
new TextField<BigDecimal>("capitalInput",
new PropertyModel<BigDecimal>(model, "capital")) {
@Override
public IConverter getConverter(Class<?> type) {
return new MonetaryBigDecimalConverter();
}
};
在 1.5 中,我将其更改为这样(以匹配现在声明getConverter()的方式):
new TextField<BigDecimal>("capital",
new PropertyModel<BigDecimal>(model, "capital")) {
@Override
public <C> IConverter<C> getConverter(Class<C> type) {
return new MonetaryBigDecimalConverter();
}
};
我的 IDE 显示为未经检查的分配警告。但是然后尝试构建项目,它实际上是一个编译错误:
incompatible types
found : com.company.MonetaryBigDecimalConverter
required: org.apache.wicket.util.convert.IConverter<C>
自定义的 MonetaryBigDecimalConverter 看起来像这样(1.5):
public class MonetaryBigDecimalConverter extends BigDecimalConverter {
@Override
public String convertToString(BigDecimal value, Locale locale) {
// ...
}
}
我怎样才能让它再次工作?