我有一个带有T泛型的方法copyList(List<T> destinationList, List<T> sourceList)
。这意味着sys只接受destinationList&amp;如果sourceList不具有相同的类型,那么该方法将不允许。
Ex:允许copyList(List<String[]> destinationList, List<String[]> sourceList
或copyList(List<String[][]> destinationList, List<String[][]> sourceList
但copyList(List<String[][]> destinationList, List<String[]> sourceList
将不被允许,因为它们的类型不同。
但是,我的日食有这个错误“T无法解析为类型”
答案 0 :(得分:5)
您必须在方法级别(返回类型之前)或类级别(类名称之后)声明类型参数。在这种情况下,它似乎是一个通用的方法,所以声明它是这样的:
public <T> void copyList(List<T> destinationList, List<T> sourceList) { }
因此,返回类型之前的<T>
称为类型参数声明。同样,如果你必须使类通用,你可以这样做:
// A generic class
class MyList<T> {
}
进一步阅读: