首页 > 解决方案 > 如何编写通用方法来交换数组中项目的值?

问题描述

我正在尝试使此代码正常工作。大部分代码都是作为问题提供的,但我只是不断收到错误,我根本无法理解。

package generic.collections;
import java.util.ArrayList;

public static void <T> T swap(Collection<T>, T x, T y) {  
    T temp = a[x]; 
    a[x] = a[y]; 
    a[y] = temp;  
    } 
}

标签: java

解决方案


您的定义已关闭,首先void方法无法返回T. 数组不是Collection. 并且应该是x(s)。喜欢,yint

public static <T> void swap(T[] a, int x, int y) {
    T temp = a[x];
    a[x] = a[y];
    a[y] = temp;
}

推荐阅读