对于Java中具有泛型参数的循环

时间:2013-01-24 15:59:14

标签: java generics parameters

简短的问题 - 它应该如何工作?

private <T> boolean hasElement(T array, T element) {
    for (T el : array) {
        if (el.equals(element)) {
            return true;
        }
    }
    return false;
}

现在它显示了for循环开始的错误。

2 个答案:

答案 0 :(得分:12)

private <T> boolean hasElement(T[] array, T element) {
                                ^^

答案 1 :(得分:1)

试试这个

private <T> boolean hasElement(T[] array, T element) {
    for (T el : array) {
        if (el.equals(element)) {
            return true;
        }
    }
    return false;
}

虽然通用版本更好但这个版本仍然可以编译和工作

private boolean hasElement(Object[] array, Object element) {
    for (Object el : array) {
        if (el.equals(element)) {
            return true;
        }
    }
    return false;
}