问问题
70 次
1 回答
0
我相信字符串替换只是toString()
根据我的经验调用的。尽管如果您只想使用枚举指定要排序的列,您实际上并不需要类型处理程序。让枚举名称与可能的列名匹配应该可以工作。或者,如果您希望代码中的名称更具可读性,您可以覆盖枚举toString()
以返回实际的列名。
前段时间我想使用枚举进行排序,由于${}
只是调用toString()
,我只是覆盖了返回列名的方法,并将枚举放入替换中,而不使用任何类型处理程序。
这非常简单,但为了完整起见,这基本上就是我所做的。
public class Constants {
public enum SortFields {
REQUEST_DATE("REQ_DT"), ID_NUMBER("ID"), MEMBER_NAME("MEM_NM");
private final String columnName;
SortFields(String columnName) {
this.columnName = columnName;
}
public String getColumnName() {
return columnName;
}
public boolean equalsColumnName(String comparedColumnName) {
return columnName.equals(comparedColumnName);
}
@Override
public String toString() {
return columnName;
}
}
}
并且只是将枚举传递给${}
. 如果枚举名称只是列名而不是拼写出来,则toString()
可能不需要覆盖。
于 2021-11-14T17:33:05.757 回答