最代碼廣告位
大明朝的銅幣的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));
	}
	
}

 


打賞

分享到:

最近瀏覽
2506710906 LV511月25日
月亮星星
80730176 LV311月23日
星星星星星星
18669505276 LV311月21日
星星星星星星
wuyanying LV111月14日
星星
hhuangh LV411月14日
月亮
北京時間五點整 LV711月12日
月亮星星星星星星
DoubleL LV111月11日
星星
靈依ziNing LV511月9日
月亮星星
wangyakun815 LV1611月9日
太陽
最代碼廣告位
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
福彩3d组选020前后关系