java中枚举类型,整型,字符串之间转换
先说说简单的枚举类型,与字符串,整型之间的转换。
枚举类:
public static enum DATA_TYPE {
STRING, DATE, NUMBER, UNKNOWN;
}
枚举类型转成整型:
DATA_TYPE.DATE.ordinal()
枚举类型转换成字符串:
DATA_TYPE.DATE.name()
整型转换成枚举类型:
DATA_TYPE.values()[1]
字符串转换成枚举型:
DATA_TYPE.valueOf("DATE")
可以理解为,枚举,就是一个简单的数组
package com.cyj;
public enum MissionType {
/**
* Head头像 , NICK昵称 , birth出生日期 ,SEX性别 , conste星座 , Marital婚姻状态 , profes职业,
* WAGE工资区域,RealnAME实名认证,email邮箱,evalua评论,collection收藏,
* share分享,browse浏览,Rotary转盘,VOTE投票,tryeat试吃,shopping购物, Sign签到,game小游戏,sku
* productSku
*/
HEAD("HEAD"), NICK("NICK"), BIRTH("BIRTH"), SEX("SEX"), CONSTE("CONSTE"), MARITAL("MARITAL"), PROFES("PROFES"),
WAGE("WAGE"), REALNAME("REALNAME"), EMAIL("EMAIL"), EVALUA("EVALUA"), COLLECTION("COLLECTION"), SHARE("SHARE"),
BROWSE("BROWSE"), ROTARY("ROTARY"), VOTE("VPTE"), TRYEAT("TRYEAT"), SHOPPING("SHOPPING"), SIGN("SIGN"),
GAME("GAME"), PRODUCTSKU("PRODUCTSKU"), REGISTERED("REGISTERED"), SLOGIN("SLOGIN"), REGIS("REGIS"),
CLUBAPP("CLUBAPP"), CLUBPROG("CLUBPROG"), MONGAPP("MONGAPP"), MONGPROG("MONGPROG");
private final String value;
MissionType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public static void main(String[] args) {
// 枚举转换整型
int winter = MissionType.HEAD.ordinal();
System.out.println(winter);
System.out.println(MissionType.NICK.ordinal());
System.out.println(MissionType.BIRTH.ordinal());
System.out.println(MissionType.SEX.ordinal());
// 枚举转换字符串。
String win = MissionType.NICK.toString();
String win2 = MissionType.NICK.name();
System.out.println(win);
System.out.println(win2);
// 字符转换枚举
MissionType missionType = MissionType.valueOf("NICK");
System.out.println(missionType);
// 整型转换枚举
int NICK0 = 2;
MissionType missionType2 = MissionType.values()[NICK0];
System.out.println(missionType2);
}
}
测试结果:
0
1
2
3
NICK
NICK
NICK
BIRTH
带参数的枚举
package com.cyj;
public enum BusinessEnum {
User(1, BusinessType.USER_BUSINESS), Order(2, BusinessType.ORDER_BUSINESS);
private int type;
private BusinessType businessType;
private BusinessEnum(int type, BusinessType businessType) {
this.type = type;
this.businessType = businessType;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public BusinessType getBusinessType() {
return businessType;
}
public void setBusinessType(BusinessType businessType) {
this.businessType = businessType;
}
public static BusinessEnum getEnumByType(int type) {
for (BusinessEnum bt : values()) {
if (bt.type == type) {
return bt;
}
}
return null;
}
}
枚举类和main我这里偷懒放在一起了最好分开哦。
package com.cyj;
public enum BusinessType {
USER_BUSINESS, ORDER_BUSINESS;
public static void main(String[] args) {
BusinessEnum business1 = BusinessEnum.getEnumByType(1);
BusinessEnum business2 = BusinessEnum.getEnumByType(2);
System.out.println(business1);
System.out.println(business2);
BusinessType type1 = business1.getBusinessType();
BusinessType type2 = business2.getBusinessType();
System.out.println(type1);
System.out.println(type2);
}
}
测试结果如下:
User
Order
USER_BUSINESS
ORDER_BUSINESS
最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97660.html