可以接受类或集合的泛型Java5方法?

可以接受类或集合的泛型Java5方法?,java,generics,Java,Generics,我有一个在方法中构建XML数据的逻辑。XML数据是基于ArrayList或ModelClass构建的。对于这两种情况,构建XML的逻辑完全相同。目前,我有两种不同的方法来处理这个问题,因此代码重复。我想使用一个方法,它可以将集合或类作为参数。可能吗?我是否需要考虑其他方法来优化此功能? 感谢您的帮助。为什么不创建一个接受集合的方法,然后迭代集合并处理每个项呢。通过这种方式,您可以使用多个项的集合或一个项的集合调用该方法-它们都将以相同的方式处理 这假设您更愿意抵消方法调用方的不便,因为对于单个项

我有一个在方法中构建XML数据的逻辑。XML数据是基于ArrayList或ModelClass构建的。对于这两种情况,构建XML的逻辑完全相同。目前,我有两种不同的方法来处理这个问题,因此代码重复。我想使用一个方法,它可以将集合或类作为参数。可能吗?我是否需要考虑其他方法来优化此功能?
感谢您的帮助。

为什么不创建一个接受集合的方法,然后迭代集合并处理每个项呢。通过这种方式,您可以使用多个项的集合或一个项的集合调用该方法-它们都将以相同的方式处理


这假设您更愿意抵消方法调用方的不便,因为对于单个项,需要调用方创建集合。如果这是您关心的问题,那么您应该简单地创建两个方法,并让接受集合调用的方法选择单个值的方法,以便实现仍然是共享的。

将这两个方法重构为单个
私有
方法,使用
对象
参数或任何全局类型实际期望并让这两个
public
方法调用它。例如

public void doStuff(Class<?> c) {
    doGenericStuff(c);
}

public void doStuff(Collection<?> c) {
    doGenericStuff(c);
}

private void doGenericStuff(Object c) {
    // Do whatever you did in each of the original methods.
}
public void doStuff(c类){
doGenericStuff(c);
}
公共垃圾收集站(收集c){
doGenericStuff(c);
}
私有void doGenericStuff(对象c){
//在每一种原始方法中,你都可以做任何事情。
}
或者这是可能的(我不知道这些方法应该做什么以及它们期望的“全局类型”)

public void doStuff(c类){
doStuff(集合。单态(c));
}
公共垃圾收集站(收集c){
//按照原来的方法做任何事。
}
和Collections.singleton()是使用一个条目创建集合的简单方法。
public void doStuff(Class<?> c) {
    doStuff(Collections.singleton(c));
}

public void doStuff(Collection<?> c) {
    // Do whatever you did in the original method.
}