gpt4 book ai didi

java - 通用对象列表与单个通用对象的比较

转载 作者:行者123 更新时间:2023-11-30 06:03:56 25 4
gpt4 key购买 nike

我无法找到以下问题的解决方案:

问题陈述:有一个类(GenericObject),它是一个泛型类,应该能够接受任何类型的对象。

现在我想通过工厂类创建该类的对象。这个工厂类应该给我单个对象或对象列表。

现在,我可以为我选择的对象获取单个通用对象,但我无法为通用对象列表找出相同的对象。

下面是示例代码:

package com.ge.hc.lcs.axis.components.factory;

import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String args[])
{
GenericObject<Integer> genericObject=Factory.getSingleInstance();
//below line does not compile
List<GenericObject<Integer>> genericObjectList=Factory.getListOfInstance();
}

}

class Factory{
public static GenericObject getSingleInstance()
{
return new GenericObject<>();
}

public static List<GenericObject> getListOfInstance()
{
List<GenericObject> genericObjectList=new ArrayList<>();
genericObjectList.add(new GenericObject<>());
genericObjectList.add(new GenericObject<>());
return genericObjectList;
}
}

class GenericObject<T>{
void add(T object)
{
System.out.println(object.getClass());
}
}

现在,下面的行工作正常:

GenericObject<Integer> genericObject=Factory.getSingleInstance();

但这并不:

//below line does not compile
List<GenericObject<Integer>> genericObjectList=Factory.getListOfInstance();

我怎样才能实现这个目标。任何形式的想法或建议都值得赞赏。

最佳答案

由于您的 GenericObject 类使用泛型,因此您也必须在方法签名中定义这些泛型:

static class Factory {
public static <T> GenericObject<T> getSingleInstance() {
...
}

public static <T> List<GenericObject<T>> getListOfInstance() {
...

关于java - 通用对象列表与单个通用对象的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51730728/

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