gpt4 book ai didi

java - Java 中的泛型——实现接口(interface)

转载 作者:行者123 更新时间:2023-11-29 10:02:07 25 4
gpt4 key购买 nike

我有一个原型(prototype)接口(interface)

public interface genericInterface <E extends Comparable <E>>{}

现在我想在我的类中实现这个接口(interface),我应该在类定义中写些什么?以下行给我一个错误(我已经实现了接口(interface)中的所有方法)

public class MyClass<Integer> implements genericInterface**<Integer Comparable<Integer>>**{ }

语法...

genericInterface<Integer Comparable<Integer>> -- error

genericInterface<Integer> -- error

我应该写什么来代替 <Integer Comparable<Integer>>使其兼容?

最佳答案

类声明应该只是:

class MyClass implements genericInterface<Integer>

类名后的通用参数是该类的参数,而不是它正在实现的类的参数。

所以,例如:

interface genericInterface<E extends Comparable <E>> {
E getKey();
}
class MyClass<T> implements genericInterface<Integer> {
T getValue();
}

MyClass<String> m = new MyClass<String>();
Integer a = m.getKey(); // Because MyClass always has E = Integer
String b = m.getValue(); // Because m has T = String

genericInterface<Integer> g = new MyClass<Boolean>();
Integer c = g.getKey();

您还可以:

class MyClass<E extends Comparable <E>> implements genericInterface<E>

然后您可以使用适用于 genericInterface 的任何类型参数化 MyClass 的实例。

关于java - Java 中的泛型——实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705428/

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