gpt4 book ai didi

java - 不同类型接口(interface)的两种实现——这不可能吗?

转载 作者:行者123 更新时间:2023-11-29 05:40:52 25 4
gpt4 key购买 nike

我有一个这样的界面:

 interface Transformer { 
public String transform( List<Object> elements );
}

实现:

 class XMLTransformer implements Transformer{ 
public String transform( List<MyXMLElements> elements );
}

class TXTTransformer implements Transformer {
public String transform( List<MyTXTElements> elements );
}

但请注意,MyXMLElements 和 MyTXTElements 没有共同的父级。这些是完全不同的对象。

在界面中也试过这个:

    public String transform( List<? extends Object> elements );
public String transform( List<?> elements );
public String transform( List<T extends Object> elements );
public String transform( List<T> elements );

有什么办法可以实现吗?

最佳答案

这应该可以通过泛型实现——为您的接口(interface)声明一个泛型类型参数:

interface Transformer<T> { 
public String transform( List<T> elements );
}

然后你的实现类只需要使用实际的类名来代替接口(interface)上的泛型类型参数:

class XMLTransformer implements Transformer<MyXmlElements>{ 
public String transform( List<MyXMLElements> elements ) {}
}

class TXTTransformer implements Transformer<MyTXTElements> {
public String transform( List<MyTXTElements> elements ) {}
}

关于java - 不同类型接口(interface)的两种实现——这不可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com