如何使这个(泛型)类型规范工作?

时间:2014-06-04 07:04:45

标签: java generics

以下代码适用于泛型类型参数Column,但如何使用类型参数Column<N>进行此操作,其中N类型用于字段columns。< / p>

    class Cols_Iterables2<Column> extends Iterable2<Column>{ 
        ColumnList<N> columns;

        public Cols_Iterables2(ColumnList<N> columnList) {
            this.columns = columnList;
        }

        @Override
        public Column get(int index) {
            return columns.getColumnByIndex(index);
        }
    }

1 个答案:

答案 0 :(得分:2)

假设您的ColumnList<N>大致定义了getColumnByIndex方法

class ColumnList<N> {
   public Column<N> getColumnByIndex(int index) {

只需使用Cols_Iterables2

参数化您的N课程
class Cols_Iterables2<N> extends Iterable2<Column<N>> { 
    ColumnList<N> columns;

    public Cols_Iterables2(ColumnList<N> columnList) {
        this.columns = columnList;
    }

    @Override
    public Column<N> get(int index) {
        return columns.getColumnByIndex(index);
    }
}