大明朝的铜币的gravatar头像
大明朝的铜币 2019-10-14 17:10:56
Java使用枚举来消除if else

Java代码里经常出现多个if else会大大降低效率,我们可以使用枚举的方式来代替if else,示例代码如下:

public enum Grade {

	A_10_90(90, 100, "A"), B_90_80(80, 90, "B"), C_80_60(60, 80, "C"), D_60_0(0, 60, "D"), OTHER(-1, -1, "E");

	private int start;
	private int end;
	private String grade;

	Grade(int start, int end, String grade) {
		this.setStart(start);
		this.setEnd(end);
		this.setGrade(grade);
	}

	public int getStart() {
		return start;
	}

	public void setStart(int start) {
		this.start = start;
	}

	public int getEnd() {
		return end;
	}

	public void setEnd(int end) {
		this.end = end;
	}

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	public static String getGrade(int score) {
		for (Grade grade : values()) {
			if (grade.getStart() <= score && score < grade.getEnd()) {
				return grade.getGrade();
			}
		}
		return OTHER.getGrade();
	}

}

 

 

public class GradeTest {
	
	@Test
	public void test() {
		System.out.println(Grade.getGrade(78));
	}
	
}

 


打赏
最近浏览
刘先生-OL  LV13 2022年11月21日
ITboysDu  LV11 2021年7月8日
水光浮藻  LV6 2021年3月4日
wangdongtai  LV31 2021年2月6日
Kervin  LV11 2020年9月27日
teslamask  LV1 2020年7月11日
海盗来了  LV20 2020年6月30日
hh6754  LV3 2020年5月26日
Roxing  LV5 2020年5月20日
qaz7225277 2020年4月26日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友