我的GWT项目中有以下功能:

private InputElement getInputElement(int rowIndex, int columnIndex,
CellTable<MyClassA> cellTable) {
        InputElement input = null;
        if (isColumnEditable(columnIndex)) {
            input = (InputElement) cellTable.getRowElement(rowIndex).getCells().getItem(columnIndex).getFirstChild().getFirstChild();
        }
        return input;
    }


如果想在最后一个参数为CellTable<MyClassB>时重用此函数,因为其余代码完全相同。我怎样才能做到这一点?

最佳答案

您可以编写以下代码-


  public interface MyClassInterface { ... }


public class MyClassA implements MyClassInterface { ... }

public class MyClassB implements MyClassInterface { ... }

private <T extends MyClassInterface> InputElement getInputElement(int rowIndex, int columnIndex, CellTable<T> cellTable)
{
    InputElement input = null;
    if (isColumnEditable(columnIndex))
    {
        input = (InputElement)  cellTable.getRowElement(rowIndex).getCells().getItem(columnIndex).getFirstChild().getFirstChild();
    }
    return input;


}

10-05 20:52