我的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;
}