我正在使用一些以自定义方式编写每种类型的方法。这些是签名:
public void write(Boolean value);
public void write(Byte value);
...
public void write(Integer value);
public void write(Long value);
由于签名相同但改变了类型,我一直在考虑使用泛型和接收未知类型并使用正确方法的方法。类似的东西:
public <T> void doWrite(T data) {
write(data);
}
在这种情况下,编译器会给我这个错误:
The method write(Boolean) in the type Writer is not applicable for the arguments (T).
我怎么能这样做呢?
答案 0 :(得分:0)
根据经验,当代码获得大量类型查询(强制转换,instanceof)时,应考虑使用泛型。目的是消除这种铸造。 你的情况似乎不是这种情况。相反,您将通过以您提出的方式重构代码来介绍此类型的查询,因此我认为它不合适