大学的时候,如果想传入一个参数(是一个常量),根据这个参数来决定对应的操作,我过去一般都是用整形的数0,1,2,3来表示对用的常量,后来发现这个方法很笨啊,如果传入的数是负数等不是想要的常量参数呢?那就要做一下出错检验了。就是先判断这个数是不是想要的常量,如果不是就提示输入异常。如果使用枚举类型的常量做为参数的话,根本不需要这么麻烦!!!
eg:
// 采用第三方登录的标志
public enum THIRDPARTYLOGIN {
QQLOGIN, SINALOGIN
}
//定义一个参数为枚举类型常量的方法
public void login(THIRDPARTYLOGIN code) {
...
}
//调用枚举类型常量作为参数
mThirdPartyLoginServe.login(THIRDPARTYLOGIN.QQLOGIN);
以枚举类型的常量作为参数传入,java机制会先判断传入的参数的类型是否和方法原型一致,如果不一致就会提示出错,而不会出现运行的时候再去检验输入合法性的情况,这是我最近做第三方登录的时候,看了官方的源码才学到的,感觉这种用法以前也经常见过,只是没有发觉可以这样使用,所谓由量变到质变吧,看的多了,自然会悟出一些原理,前提是要用心