使用泛型为自定义类型

时间:2014-10-31 11:41:25

标签: java generics

我正在使用一些以自定义方式编写每种类型的方法。这些是签名:

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).

我怎么能这样做呢?

1 个答案:

答案 0 :(得分:0)

根据经验,当代码获得大量类型查询(强制转换,instanceof)时,应考虑使用泛型。目的是消除这种铸造。 你的情况似乎不是这种情况。相反,您将通过以您提出的方式重构代码来介绍此类型的查询,因此我认为它不合适