coding
大明朝的銅幣的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));
	}
	
}

 


打賞

分享到:

最近瀏覽
huangshj_sh2小時前
暫無貢獻等級
shanjunkai123 LV29小時前
星星星星
__起飛的豬 LV9前天
月亮月亮星星
或愛好 LV211月2日
星星星星
280286951 LV1111月1日
月亮月亮星星星星星星
Gyq灬ming LV1010月31日
月亮月亮星星星星
406971727 LV1610月31日
太陽
駱宇天 LV710月31日
月亮星星星星星星
chadzhang LV210月30日
星星星星
和尚號禿驢 LV3310月30日
太陽太陽星星
最代碼廣告位
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
黑龙江11选5实时走势图