用java语言定义比较器,存在明文显示、点击查看、脱敏显示三种为String的变量。优先级为明文显示>点击查看>脱敏显示
时间: 2024-11-09 09:28:25 浏览: 8
简单电压比较器_迟滞比较器_窗口比较器
5星 · 资源好评率100%
在Java中,你可以创建一个自定义的Comparator接口实现类来按照指定的优先级对字符串变量进行排序。首先,定义一个包含三个字符串字段的类,比如`DisplayMode`,然后创建一个Comparator:
```java
import java.util.Comparator;
public class DisplayMode {
public enum Mode {
PLAIN("明文显示"),
VIEW("点击查看"),
MASKED("脱敏显示");
private String displayText;
DisplayMode(String displayText) {
this.displayText = displayText;
}
public String getDisplayText() {
return displayText;
}
}
private DisplayMode mode;
// 构造函数、getter和setter...
public DisplayMode getMode() {
return mode;
}
public void setMode(DisplayMode mode) {
this.mode = mode;
}
// 自定义Comparator,按优先级排列
public static Comparator<DisplayMode> compareByPriority() {
return (o1, o2) -> {
switch (o1) {
case PLAIN:
return -1; // 明文显示优先
case VIEW:
return 0; // 点击查看等于
case MASKED:
return 1; // 脱敏显示最后
}
throw new IllegalArgumentException("Invalid display mode");
};
}
}
```
现在,你可以使用`compareByPriority()`方法对`DisplayMode`实例进行排序,如`Arrays.sort(list, DisplayMode.compareByPriority())`。
阅读全文