gpt4 book ai didi

java - 具有不同具体类型作为方法参数的接口(interface)实现

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:35:32 25 4
gpt4 key购买 nike

我想在一个接口(interface)中有一个方法可以接受任何类型的通用对象,比如

public void myMethod(List<?>);

现在的实现应该只接受某种类型,例如。实现 1:

public void myMethod(List<Integer>);

实现 2:

public void myMethod(List<String>);

然而这并不像 public void myMethod(List<Integer>); 那样工作不是 public void myMethod(List<?>); 的有效实现

我怎样才能做到这一点? (除了使用对象参数,因此依赖于强制转换和手动进行类型检查)

最佳答案

除非我遗漏了一些明显的东西(我不喜欢这种情况),为什么不让界面本身通用呢?

public interface MyInterface<T> {
public void myMethod(List<T> list);
}

可以这样实现:

public class MyClass<T> implements MyInterface<T> {

@Override
public void myMethod(List<T> list) {
// TODO complete this!
}

}

像这样使用:

public class Foo {
public static void main(String[] args) {
MyClass<String> myString = new MyClass<String>();
MyClass<Integer> myInt = new MyClass<Integer>();
}
}

关于java - 具有不同具体类型作为方法参数的接口(interface)实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377744/

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