gpt4 book ai didi

具有多个声明的 Java 泛型

转载 作者:行者123 更新时间:2023-11-30 09:28:38 26 4
gpt4 key购买 nike

我正在使用这样的泛型实现一个类:

public abstract class AbstractTask<T,V>
{
public void method1 (T param1, V param2) {}
}

能否报关<T,K>可变?我想通过这种方式扩展该类:

public class TaskOne extends AbstractTask<Integer,String>
{
public void method1 (Integer param1, String param2) {}
}

public class TaskTwo extends AbstractTask<Number,Object,Double>
{
public void method1 (Number param1, Object param2, Double param3) {}
}

这有可能吗?

谢谢

最佳答案

不,你不能。

您应该将 V 从普通的 java.lang 类型更改为参数的包装器。

public class TaskOne extends AbstractTask<Integer,StringWrapper>
{
public void method1 (Integer param1, StringWrapper param2) {}
}

public class TaskTwo extends AbstractTask<Number,ObjectAndDoubleWrapper>
{
public void method1 (Number param1, ObjectAndDoubleWrapper param3) {}
}

class ObjectAndDoubleWrapper {
Object obj;
Double doub;
}

等等

显然,选择一个更合理的名称来反射(reflect)您要解决的问题。

关于具有多个声明的 Java 泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13933997/

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