任何人都可以簡單地解釋爲什麼在下面的類中,當我傳遞一個字符串,整型或UUID時,只有使用Object作爲參數的方法重載?Java類型擦除和重載?
public final class SkuHydratingConverter implements Converter<Object, Sku> {
@Autowired
private SkuService skuService;
/**
* Default implementation, that errs as we don't know how to convert from
* the source type.
*/
public Sku convert(Object source) throws IllegalArgumentException {
throw new IllegalArgumentException("Could not convert to Sku");
}
public Sku convert(String source) throws IllegalArgumentException {
return convert(Integer.valueOf(source));
}
public Sku convert(Integer source) throws IllegalArgumentException {
return skuService.get(source);
}
public Sku convert(UUID source) throws IllegalArgumentException {
return skuService.get(source);
}
}
本來我想實現在一個類Converter<?, ?>
三次,但我很快就發現這是不可能的。
您如何訪問此方法?你能給一個代碼示例嗎? –