我可以使用java泛型在java中对同一接口进行不同的实现吗?

我可以使用java泛型在java中对同一接口进行不同的实现吗?,java,generics,Java,Generics,假设我想使用泛型将一个类转换成另一个类。我可以这样做吗 例如 Class BConvertImpl implements Converter { A toA(Class B); void update(Class A, Class B); } Class CConverterImpl implements Converter { A toA(Class C); void update(Class A, Class C); } 我可以使用泛型来实现这一点吗 我对Java中的泛型

假设我想使用泛型将一个类转换成另一个类。我可以这样做吗

例如

Class BConvertImpl implements Converter
{
  A toA(Class B);
  void update(Class A, Class B);
}

Class CConverterImpl implements Converter
{
  A toA(Class C);
  void update(Class A, Class C);
}
我可以使用泛型来实现这一点吗

我对Java中的泛型非常陌生。谁能帮我做这个吗


谢谢

不,你不能。您不能像这样或以任何其他方式在Java中转换类。你可以做的是创建一个处理程序,它将接受任何类型的
转换器
,我怀疑这是你想要实现的。

是:你需要键入你的
转换器
类(并简单地将方法命名为
to
):

/**
*@param“from”类型
*@param是“to”类型
*/
接口转换器{
T至(F自);
无效更新(T到,F从);
}
类BConvertImpl实现转换器{
A到(B from){/*一些impl*/}
无效更新(A到,B从){/*some impl*/}
}
类CConverterImpl实现转换器{
A到(C from){/*一些impl*/}
无效更新(A到,C从){/*some impl*/}
}

您可以执行以下操作:

interface Converter<From, To> {
    public To convert(From object);
}

class BConverter implements Converter<B, A> {
    public A convert(B b) {
        ...
    }
}

class CConverter implements Converter<C, A> {
    public A convert(C c) {
        ...
    }
}
接口转换器{
公共转换(从对象);
}
类BConverter实现转换器{
公共A转换(B){
...
}
}
类CConverter实现转换器{
公共A转换(C){
...
}
}

这可以让你以一种通用的方式定义
转换器
接口,然后你可以得到你需要的任何实现。

我想你在第二个类“Comverter”中输入了一个你想要的“Converter”。我不会仅仅改变它,因为它可能是有意的,并且与你的问题相关。对此我很抱歉。这确实是一个打字错误。这不会像写的那样起作用
F
T
是类型参数,而不是参数名,因此
to(Class F)
不会编译。你是说
到(F)
@CameronSkinner-Yikes!谢谢-现在修复了(我只是在这里写代码,没有使用IDE检查它-doh!)-1我将不得不否决这一条。这是无法回避的。。。这个答案根本不正确。
interface Converter<From, To> {
    public To convert(From object);
}

class BConverter implements Converter<B, A> {
    public A convert(B b) {
        ...
    }
}

class CConverter implements Converter<C, A> {
    public A convert(C c) {
        ...
    }
}