问:枚举有有什么用?

答:定义常量,作用和jfinal一样,用来定义固定值的变量,即常量变量。

java程序,为什么要定义常量,常量有什么用?

引入常量,是为了:

1)直接调用即可,不用每次都输入“telNum”。

2)便于代码的可读性,如果你在程序中输入“telNum”别人不明白是什么,你固定写到某个位置,大家一看就明白了。

3)也方便查看,常量就像是一个数据字典(0是待提交 1已提交 2已审核等等)一样,各数值代表什么意思,一目了然。

5)也可以防止别写程序时将“telNum”敲错,因为使用"对象名.成员变量名"输入“.”的时候会有可能代码提示,选择即可,这样是不可能出错的。

6)增加程序的可读性,可维护性,如果直接在代码中写入Db.set("current_status","1");没有人会明白,如果将这些状态位通过变量在某个类中通过jfinal 进行维护或者在枚举类中维护,程序只是调取Db.set("current_status",CurrentStatus.CURRENT_STATUS_0);即可。

java 枚举不建议最多几个参数 java枚举类型有什么用_构造函数



如jf工程中,如下的用法
public class ProjectContants {
	public static String CURRENT_USER = "CURRENT_USER";
	public static String CURRENT_ORGAN = "CURRENT_ORGAN";
	public static String CURRENT_PROJECT = "CURRENT_PROJECT";
	public static String RANDOM_IMAGE_CODE="RANDOM_IMAGE_CODE";
}

总结:

所以,变量最大的用处就是为了消除,java程序中,“某些状态位,外人完全不明白什么意思,”

如下:



==================================java枚举类型enum的使用实例==================================


Java枚举类型enum的使用

      有两种方法:final关键字和enum枚举。Java中的枚举类型采用关键字enum来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum类型。要了解枚举类型,建议大家先打开jdk中的Enum类简单读一下,这个类里面定义了很多protected方法,比如构造函数,如果要使用这些方法我们可以把枚举类型定义到当前类中。每个枚举类型,都有自己的名字和顺序,当我们输出一个枚举类型的时候,会输入枚举类型的name,具体可以参考下面的例子。



1. public enum OperationType {  
2.   
3. "add_keyword@resource", "KEYWORD"),  
4. "add_start_keyword@resource", "KEYWORD"),  
5. "add_stop_keyword@resource", "KEYWORD"),  
6. "delete_keyword@resource", "KEYWORD"),  
7. "add_rec_to_recycle@resource", "KEYWORD"),  
8. "stop_keyword@resource", "KEYWORD"),  
9. "stop_all_keyword@resource", "KEYWORD"),  
10. "start_keyword@resource", "KEYWORD"),  
11. "start_all_keyword@resource", "KEYWORD"),  
12. "bid_keyword@resource", "KEYWORD"),  
13. "modify_bid_keyword@resource", "KEYWORD"),  
14. "modify_add_keyword@resource", "KEYWORD"),  
15. "modify_sub_keyword@resource", "KEYWORD"),  
16. "modify_keyword_tag@resource", "KEYWORD"),  
17. "cancel_keyword_tag@resource", "KEYWORD"),  
18. "set_preferential_product@resource", "KEYWORD"),  
19. "cancel_preferential_product@resource", "KEYWORD"),  
20. "set_admatch@resource", "KEYWORD"),  
21. "cancel_admatch@resource", "KEYWORD"),  
22. "modify_cost_limit@resource", "ACCOUNT"),  
23. "modify_balance_alert_amount@resource", "ACCOUNT"),  
24. "modify_balance_alert_email@resource", "ACCOUNT"),  
25. "modify_balance_alert_phone@resource", "ACCOUNT"),  
26. "accept_agreement@resource", "ACCOUNT"),  
27. "start_account_status@resource", "ACCOUNT"),  
28. "stop_account_status@resource", "ACCOUNT"),  
29. "setting_account_language@resource", "ACCOUNT"),  
30. "cancel_account_language@resource", "ACCOUNT"),  
31. "allow_recommend_keyword@resource", "ACCOUNT"),  
32. "dont_allow_recommend_keyword@resource", "ACCOUNT"),  
33. "unfreeze_cust@resource", "ACCOUNT"),  
34. "add_offer@resource", "PRODUCT"),  
35. "clean_product@resource", "PRODUCT"),  
36. "delete_offer@resource", "PRODUCT"),  
37. "add_all_offer@resource", "PRODUCT"),  
38. "delete_all_offer@resource", "PRODUCT"),  
39. "add_best_match_offer@resource", "PRODUCT"),  
40. "create_tag@resource", "TAG"),  
41. "modify_tag_name@resource", "TAG"),  
42. "delete_tag@resource", "TAG"),  
43. "insert_authority@resource", "AUTHORITY"),  
44. "modify_authority@resource", "AUTHORITY"),  
45. "cancel_authority@resource", "AUTHORITY"),  
46. "start_quick_promotion@resource", "QUICKPRROMOTION"),  
47. "stop_quick_promotion@resource", "QUICKPRROMOTION"),  
48. "update_quick_price@resource", "QUICKPRROMOTION"),  
49.       
50. private OperationType(String resourceKey, String type) {  
51. this.resourceKey = resourceKey;  
52. this.type = type;  
53.     }  
54.   
55. private final String resourceKey;  
56. private final String type;  
57.   
58. public String getResourceKey() {  
59. return resourceKey;  
60.     }  
61.   
62. public String getType() {  
63. return type;  
64.     }  
65.   
66. public static OperationType getOperationType(String name) {  
67. return OperationType.valueOf(name);  
68.     }  
69.   
70. }



       上面定义了一个java枚举类型的类,构造函数的两个参数很重要,分别对应枚举实例的两个参数。下面的测试代码,可以明确告诉你如何使用java枚举获取对应的信息。


1. public class Test {  
2. public static void main(String[] args) {  
3. "ADD_STOP_KEYWORD");  
4. "operationType.getType():" + operationType.getType());  
5. "operationType.getResourceKey():" + operationType.getResourceKey());  
6.     }  
7. }

上例的输出结果如下:


1. <strong>operationType.getType():KEYWORD  
2. operationType.getResourceKey():add_stop_keyword@resource</strong>