У меня есть следующий класс, который использует оператор switch, и я хотел бы заменить его перечислением.
public class FillTable {
private static final int NAME_INDEX = 0;
private static final int DESCRIPTION_INDEX = 1;
private static final int CONTRIBUTION_INDEX = 2;
public Object getValueAt(int row, int col) {
EmployeeData employeeData = (EmployeeData)items.get(row);
switch (col) {
case NAME_INDEX: {
return employeeData.getName();
}
case DESCRIPTION_INDEX: {
return employeeData.getDescription();
}
case ADDRESS_INDEX: {
return employeeData.getAddress();
}
default: {
return "";
}
}
}
}
Вот перечисление, которое я придумала.
public enum EmployeeTableColumn {
NAME_INDEX {
@Override
public void getData() {
employeeData.getName();
}
}, DESCRIPTION_INDEX {
@Override
public void getData() {
return employeeData.getDescription();
}
}, CONTRIBUTION_INDEX {
@Override
public void getData() {
return employeeData.getAddress();
}
};
public abstract void getData();
}
Моя проблема в том, что я не знаю, как заменить код в методе getValueAt()
, чтобы использовать перечисление вместо оператора switch.Может кто-нибудь показать мне, как я могу это сделать?