最代码广告位
大明朝的铜币的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));
	}
	
}

 


打赏
最近浏览
nextstep LV83月22日
月亮月亮
一天一点爱恋 LV53月13日
月亮星星
机器人先生 LV23月4日
星星星星
zhouxiaoyu LV72月16日
月亮星星星星星星
442529474 LV61月17日
月亮星星星星
zzgover LV42019年12月24日
月亮
StandCarry LV42019年12月9日
月亮
qazwsx2201 LV32019年12月6日
星星星星星星
梓嘉一心一意ZYPeng丶 LV52019年12月6日
月亮星星
tracy_lee LV142019年12月6日
月亮月亮月亮星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友