当前位置: 首页 > news >正文

西充县企业网站建设公司网站一定要域名吗

西充县企业网站建设,公司网站一定要域名吗,指数函数运算法则,赣州市建设工程质量监督管理站网站总结#xff1a;Java枚举类Enum常用API#xff0c;与EnumUtil工具类封装 一通过enum关键字创建一个枚举类#xff1a;二自定义枚举对象常用方法示例#xff1a;1.获取枚举值方法#xff1a;一般为code字段2.获取描述值方法#xff1a;一般为description字段3.获取枚举对象… 总结Java枚举类Enum常用API与EnumUtil工具类封装 一·通过enum关键字创建一个枚举类二·自定义枚举对象常用方法示例1.获取枚举值方法一般为code字段2.获取描述值方法一般为description字段3.获取枚举对象名称4.获取枚举对象在枚举类中的索引位置从0开始计算5.获取枚举对象的序列化方法一般很少用6.获取枚举类的class对象 三·自定义枚举类自带静态方法常用示例1.获取枚举单个对象2.根据枚举对象名获取对应的枚举对象方式一3.根据枚举对象名获取对应的枚举对象方式二4.获取枚举类中全部枚举对象数组集合 四·枚举类Class对象常用方法示例这块不仅包含枚举相关的API也涉及class的反射内容方法API1.获取该类型的全类名2.判断该类是不是枚举类型3.获取枚举对象数组集合4.获取该类声明的所有属性字段 五·枚举类父类Enum常用方法示例1.根据枚举对象名获取对应的枚举对象方式三 六·EnumUtil工具类封装各种枚举类本身不具备但是开发中经常需要使用的功能方法 一·通过enum关键字创建一个枚举类 public enum UserStatus {/*** 正常*/Normal(1, 正常),Locked(2, 锁定),Delete(3, 删除),Disabled(4, 禁用),NotCertified(5, 未认证);private Integer code;private String description;UserStatus(Integer code, String description) {this.code code;this.description description;}public Integer getCode() {return code;}public String getDescription() {return description;} }二·自定义枚举对象常用方法示例 1.获取枚举值方法一般为code字段 //获取code值4 Integer code UserStatus.Disabled.getCode(); System.out.println(code);2.获取描述值方法一般为description字段 //获取description值禁用 String description UserStatus.Disabled.getDescription(); System.out.println(description);3.获取枚举对象名称 //获取枚举对象在枚举类中的名称Disabled String name UserStatus.Disabled.name(); System.out.println(name);4.获取枚举对象在枚举类中的索引位置从0开始计算 //获取枚举对象在枚举类中的索引位置从0开始计算即ordinal值3 int ordinal UserStatus.Disabled.ordinal(); System.out.println(ordinal);5.获取枚举对象的序列化方法一般很少用 //获取枚举类中所有的枚举对象Optional[EnumDesc[UserStatus.Disabled]] OptionalEnum.EnumDescUserStatus userStatusEnumDesc UserStatus.Disabled.describeConstable(); System.out.println(userStatusEnumDesc);6.获取枚举类的class对象 //获取枚举类对象的class对象true ClassUserStatus declaringClass UserStatus.Disabled.getDeclaringClass(); Class? extends UserStatus aClass UserStatus.Disabled.getClass(); System.out.println(declaringClass aClass);三·自定义枚举类自带静态方法常用示例 1.获取枚举单个对象 //获取枚举单个对象Locked UserStatus locked UserStatus.Locked; System.out.println(locked);2.根据枚举对象名获取对应的枚举对象方式一 //根据枚举对象名获取对应的枚举对象方式一Normal UserStatus normal UserStatus.valueOf(Normal); System.out.println(normal);3.根据枚举对象名获取对应的枚举对象方式二 //根据枚举对象名获取对应的枚举对象方式二Delete UserStatus delete UserStatus.valueOf(UserStatus.class, Delete); System.out.println(delete);4.获取枚举类中全部枚举对象数组集合 //获取所有枚举对象数组集合 UserStatus[] values UserStatus.values(); System.out.println(Arrays.toString(values));四·枚举类Class对象常用方法示例这块不仅包含枚举相关的API也涉及class的反射内容方法API 1.获取该类型的全类名 //获取该类型的全类名com.pazl.iot.admin.bean.UserStatus String typeName UserStatus.class.getTypeName(); System.out.println(typeName);2.判断该类是不是枚举类型 //判断该类是不是枚举类型true boolean anEnum UserStatus.class.isEnum(); System.out.println(anEnum);3.获取枚举对象数组集合 //获取枚举对象数组集合如果是非枚举类class调用则直接返回null UserStatus[] enumConstants UserStatus.class.getEnumConstants(); for (UserStatus enumConstant : enumConstants) {//输出每个枚举对象的code和descriptionSystem.out.println(enumConstant.getCode() enumConstant.getDescription()); }4.获取该类声明的所有属性字段 //获取该类声明的所有属性字段 Field[] declaredFields UserStatus.class.getDeclaredFields(); for (Field declaredField : declaredFields) {//输出每个属性字段System.out.println(declaredField); }五·枚举类父类Enum常用方法示例 1.根据枚举对象名获取对应的枚举对象方式三 //根据枚举对象名获取对应的枚举对象方式三 UserStatus normal_1 Enum.valueOf(UserStatus.class, Normal); System.out.println(normal_1);六·EnumUtil工具类封装各种枚举类本身不具备但是开发中经常需要使用的功能方法 import com.alibaba.fastjson2.JSON; import com.pazl.iot.admin.bean.UserStatus;import java.lang.reflect.Field; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; import java.util.Optional;/*** 枚举工具类** author LiuMingFu* date 2024/3/9*/ public class EnumUtils {public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {System.out.println(1.);/*** 1.枚举类单个对象常用方法示例*///获取code值4Integer code UserStatus.Disabled.getCode();System.out.println(code);//获取description值禁用String description UserStatus.Disabled.getDescription();System.out.println(description);//获取枚举对象在枚举类中的名称DisabledString name UserStatus.Disabled.name();System.out.println(name);//获取枚举对象在枚举类中的索引位置从0开始计算即ordinal值3int ordinal UserStatus.Disabled.ordinal();System.out.println(ordinal);//获取枚举类中所有的枚举对象Optional[EnumDesc[UserStatus.Disabled]]OptionalEnum.EnumDescUserStatus userStatusEnumDesc UserStatus.Disabled.describeConstable();System.out.println(userStatusEnumDesc);//获取枚举类对象的class对象trueClassUserStatus declaringClass UserStatus.Disabled.getDeclaringClass();Class? extends UserStatus aClass UserStatus.Disabled.getClass();System.out.println(declaringClass aClass);System.out.println(2.);/*** 2.枚举类自带静态常用方法示例*///获取枚举单个对象LockedUserStatus locked UserStatus.Locked;System.out.println(locked);//根据枚举对象名获取对应的枚举对象方式一NormalUserStatus normal UserStatus.valueOf(Normal);System.out.println(normal);//根据枚举对象名获取对应的枚举对象方式二DeleteUserStatus delete UserStatus.valueOf(UserStatus.class, Delete);System.out.println(delete);//获取所有枚举对象数组集合UserStatus[] values UserStatus.values();System.out.println(Arrays.toString(values));System.out.println(3.);/*** 3.枚举类class对象常用方法示例这块也涉及class的反射内容方法API*///获取该类型的全类名com.pazl.iot.admin.bean.UserStatusString typeName UserStatus.class.getTypeName();System.out.println(typeName);//判断该类是不是枚举类型trueboolean anEnum UserStatus.class.isEnum();System.out.println(anEnum);//获取枚举对象数组集合如果是非枚举类class调用则直接返回nullUserStatus[] enumConstants UserStatus.class.getEnumConstants();for (UserStatus enumConstant : enumConstants) {//输出每个枚举对象的code和descriptionSystem.out.println(enumConstant.getCode() enumConstant.getDescription());}//获取该类声明的所有属性字段Field[] declaredFields UserStatus.class.getDeclaredFields();for (Field declaredField : declaredFields) {//输出每个属性字段System.out.println(declaredField);}System.out.println(4.);/*** 4.所有枚举类父类Enum常用方法示例*///根据枚举对象名获取对应的枚举对象方式三UserStatus normal_1 Enum.valueOf(UserStatus.class, Normal);System.out.println(normal_1);System.out.println(5.);//根据枚举类code值获取对应的枚举类对象UserStatus enumObject getEnumObjectByCode(UserStatus.class, 3);System.out.println(enumObject.getCode());System.out.println(enumObject.getDescription());UserStatus enumObject2 getEnumObjectByDescription(UserStatus.class, 未认证);System.out.println(enumObject2.getCode());System.out.println(enumObject2.getDescription());UserStatus enumObject3 getEnumObject(UserStatus.class, description, 未认证);System.out.println(enumObject3.getCode());System.out.println(enumObject3.getDescription());UserStatus enumObject4 getEnumObject(UserStatus.class, code, 3);System.out.println(enumObject4.getCode());System.out.println(enumObject4.getDescription());MapString, String enumMapWithStringKey getEnumMapWithStringKey(UserStatus.class);//转为json打印输出需要引入外包fastjson依赖包不需要去掉就行System.out.println(JSON.toJSONString(enumMapWithStringKey));MapString, String enumMapWithStringKey2 getEnumMapWithStringKey(UserStatus.Delete);System.out.println(JSON.toJSONString(enumMapWithStringKey2));MapInteger, String enumMapWithIntegerKey getEnumMapWithIntegerKey(UserStatus.class);System.out.println(JSON.toJSONString(enumMapWithIntegerKey));MapInteger, String enumMapWithIntegerKey2 getEnumMapWithIntegerKey(UserStatus.Delete);System.out.println(JSON.toJSONString(enumMapWithIntegerKey2));}/*** 根据枚举类整型字段的指定值、class对象获取对应的枚举类对象** param enumClass 目标枚举类class对象* param integerFieldName 枚举类存在的一个整型字段名* param integerFieldValue 枚举类该整型字段的值* param T 枚举类类型* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT T getEnumObject(ClassT enumClass, String integerFieldName, Integer integerFieldValue) throws NoSuchFieldException, IllegalAccessException {//根据class对象获取枚举类中名称为 integerFieldName 的属性字段对象Field integerField enumClass.getDeclaredField(integerFieldName);//设置强制访问权限一般情况私有属性、方法不允许反射访问integerField.setAccessible(true);//获取该枚举类声明的所有枚举对象T[] enumConstants enumClass.getEnumConstants();for (T enumConstant : enumConstants) {//获取每个枚举对象的该属性值Integer value (Integer) integerField.get(enumConstant);//若根据参数值一样则将该枚举类对象直接返回if (integerFieldValue.equals(value)) {return enumConstant;}}//没有则返回nullreturn null;}/*** 根据枚举类字符串类型字段的指定值、class对象获取对应的枚举类对象** param enumClass 目标枚举类class对象* param stringFieldName 枚举类存在的一个字符串类型字段名* param stringFieldValue 枚举类该整型字符串类型的值* param T 枚举类类型* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT T getEnumObject(ClassT enumClass, String stringFieldName, String stringFieldValue) throws NoSuchFieldException, IllegalAccessException {//根据class对象获取枚举类中名称为 stringFieldName 的属性字段对象Field stringField enumClass.getDeclaredField(stringFieldName);//设置强制访问权限一般情况私有属性、方法不允许反射访问stringField.setAccessible(true);//获取该枚举类声明的所有枚举对象T[] enumConstants enumClass.getEnumConstants();for (T enumConstant : enumConstants) {//获取每个枚举对象的该属性值String value (String) stringField.get(enumConstant);//若根据参数值一样则将该枚举类对象直接返回if (stringFieldValue.equals(value)) {return enumConstant;}}//没有则返回nullreturn null;}/*** 根据枚举对象的描述、class对象获取对应的枚举类对象* 注意需要该枚举类存在 description 字段才行** param enumClass 目标枚举类class对象* param description 枚举对象的描述* param T 枚举类类型* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT T getEnumObjectByDescription(ClassT enumClass, String description) throws NoSuchFieldException, IllegalAccessException {//根据class对象获取枚举类中名称为 description 的属性字段Field descField enumClass.getDeclaredField(description);//设置强制访问权限一般情况私有属性、方法不允许反射访问descField.setAccessible(true);//获取该枚举类声明的所有枚举对象T[] enumConstants enumClass.getEnumConstants();for (T enumConstant : enumConstants) {//获取每个枚举对象的该属性值String descValue (String) descField.get(enumConstant);//若根据参数值一样则将该枚举类对象直接返回if (description.equals(descValue)) {return enumConstant;}}//没有则返回nullreturn null;}/*** 根据枚举值、class对象获取对应的枚举类对象* 注意需要该枚举类存在 code 字段才行** param enumClass 目标枚举类class对象* param code 枚举值* param T 枚举类类型* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT T getEnumObjectByCode(ClassT enumClass, Integer code) throws NoSuchFieldException, IllegalAccessException {//根据class对象获取枚举类中名称为code的属性字段Field codeField enumClass.getDeclaredField(code);//设置强制访问权限一般情况私有属性、方法不允许反射访问codeField.setAccessible(true);//获取该枚举类声明的所有枚举对象T[] enumConstants enumClass.getEnumConstants();for (T enumConstant : enumConstants) {//获取每个枚举对象的code属性值Integer codeValue (Integer) codeField.get(enumConstant);//若根据参数值一样则将该枚举类对象直接返回if (code.equals(codeValue)) {return enumConstant;}}//没有则返回nullreturn null;}/*** 根据一个枚举类对象获取他的枚举值* 注意该枚举类必须存在 code 字段且为整型** param enumObject 一个枚举类对象* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT Integer getCode(T enumObject) throws IllegalAccessException, NoSuchFieldException {Field codeField enumObject.getClass().getDeclaredField(code);codeField.setAccessible(true);return (Integer) codeField.get(enumObject);}/*** 根据一个枚举类对象获取他的枚举值* 注意该枚举类必须存在 codeFieldName 字段且为整型** param enumObject 一个枚举类对象* param codeFieldName 枚举值字段名* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT Integer getCode(T enumObject, String codeFieldName) throws IllegalAccessException, NoSuchFieldException {Field codeField enumObject.getClass().getDeclaredField(codeFieldName);codeField.setAccessible(true);return (Integer) codeField.get(enumObject);}/*** 根据一个枚举类对象获取他的描述字符串* 注意该枚举类必须存在 description 字段且为字符串类型** param enumObject 一个枚举类对象* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT String getDescription(T enumObject) throws IllegalAccessException, NoSuchFieldException {Field descriptionField enumObject.getClass().getDeclaredField(description);descriptionField.setAccessible(true);return (String) descriptionField.get(enumObject);}/*** 根据一个枚举类对象获取他的描述字符串* 注意该枚举类必须存在 descFieldName 字段且为字符串类型** param enumObject 一个枚举类对象* param descFieldName 枚举对象描述字段名* return* author LiuMingFu* date 2024/3/9*/public static T extends EnumT String getDescription(T enumObject, String descFieldName) throws IllegalAccessException, NoSuchFieldException {Field descriptionField enumObject.getClass().getDeclaredField(descFieldName);descriptionField.setAccessible(true);return (String) descriptionField.get(enumObject);}/*** 获取枚举类中每个枚举值对应的map集合* key枚举对象code值* value枚举对象description值** param enumClass 枚举类class对象* param T 枚举类类型* return* author LiuMingFu* date 2024/2/28*/public static T extends EnumT MapInteger, String getEnumMapWithIntegerKey(ClassT enumClass) throws NoSuchFieldException, IllegalAccessException {MapInteger, String enumMap new LinkedHashMap();//获取所有枚举类属性字段Field[] fields enumClass.getDeclaredFields();//循环处理各个枚举类型字段for (Field field : fields) {//判断是否为枚举属性字段if (field.isEnumConstant()) {//根据枚举类class对象、枚举字段名获取对应的枚举类对象T enumValue Enum.valueOf(enumClass, field.getName());//获取枚举对象code值Integer code getCode(enumValue);//获取枚举对象描述String description getDescription(enumValue);//放入map集合enumMap.put(code, description);}}return enumMap;}/*** 获取枚举类中每个枚举值对应的map集合* key枚举对象code值* value枚举对象description值** param enumObject 一个枚举类对象* param T 枚举类类型* return* author LiuMingFu* date 2024/2/28*/public static T extends EnumT MapInteger, String getEnumMapWithIntegerKey(T enumObject) throws NoSuchFieldException, IllegalAccessException {MapInteger, String enumMap new LinkedHashMap();//获取所有枚举类属性字段Field[] fields enumObject.getClass().getDeclaredFields();//循环处理各个枚举类型字段for (Field field : fields) {//判断是否为枚举属性字段if (field.isEnumConstant()) {//根据枚举类class对象、枚举字段名获取对应的枚举类对象T enumValue Enum.valueOf(enumObject.getDeclaringClass(), field.getName());//获取枚举对象code值Integer code getCode(enumValue);//获取枚举对象描述String description getDescription(enumValue);//放入map集合enumMap.put(code, description);}}return enumMap;}/*** 获取枚举类中每个枚举值对应的map集合* key枚举对象code值* value枚举对象description值** param enumClass 枚举类class对象* param T 枚举类类型* return* author LiuMingFu* date 2024/2/28*/public static T extends EnumT MapString, String getEnumMapWithStringKey(ClassT enumClass) throws NoSuchFieldException, IllegalAccessException {MapString, String enumMap new LinkedHashMap();//获取所有枚举类属性字段Field[] fields enumClass.getDeclaredFields();//循环处理各个枚举类型字段for (Field field : fields) {//判断是否为枚举属性字段if (field.isEnumConstant()) {//根据枚举类class对象、枚举字段名获取对应的枚举类对象T enumValue Enum.valueOf(enumClass, field.getName());//获取枚举对象code值Integer code getCode(enumValue);//获取枚举对象描述String description getDescription(enumValue);//放入map集合enumMap.put(code.toString(), description);}}return enumMap;}/*** 获取枚举类中每个枚举值对应的map集合* key枚举对象code值* value枚举对象description值** param enumObject 一个枚举类对象* param T 枚举类类型* return* author LiuMingFu* date 2024/2/28*/public static T extends EnumT MapString, String getEnumMapWithStringKey(T enumObject) throws NoSuchFieldException, IllegalAccessException {MapString, String enumMap new LinkedHashMap();//获取所有枚举类属性字段Field[] fields enumObject.getClass().getDeclaredFields();//循环处理各个枚举类型字段for (Field field : fields) {//判断是否为枚举属性字段if (field.isEnumConstant()) {//根据枚举类class对象、枚举字段名获取对应的枚举类对象T enumValue Enum.valueOf(enumObject.getDeclaringClass(), field.getName());//获取枚举对象code值Integer code getCode(enumValue);//获取枚举对象描述String description getDescription(enumValue);//放入map集合enumMap.put(code.toString(), description);}}return enumMap;}}
http://www.pierceye.com/news/325207/

相关文章:

  • 网站子目录做推送用什么网站
  • 网站手机优化网站上传空间的ip地址
  • 做网站增加流量自助微信网站设计
  • 网站推广的6个方法是什么软件开发合同模板范本1
  • 营销网站手机站wordpress的主题目录
  • 达州建设企业网站重视网站商务通
  • 淘宝网站怎么做视频58做二手车网站应该怎么推广
  • 自动翻译网站软件cf刷枪网站怎么做的
  • 示范校建设验收网站网站对话窗口怎么做
  • phpcms 移动网站模板怎么做个人网页
  • 南宁手机建站公司新加坡网站后缀
  • 如何在建设部网站查询获奖情况如何申请电商网站
  • jsp网站访问万维网网站幻灯
  • 南通住房和城乡建设部网站首页安徽公司网站建设
  • 建筑论坛网站修改WordPress文章发布页面
  • 网站代备案系统seo优化服务是什么意思
  • 专门做选择题的网站一个网站seo做哪些工作
  • wordpress 多站点 拷贝中国建设银行春招网站
  • 门户营销型网站wordpress代码执行
  • 保山市建设厅网站做建筑机械网站那个网站好
  • 广告位网站建设国际人才网中山招聘网
  • 南昌市城市建设档案馆网站一个网站做无限关键词
  • wordpress特别卡 iis东莞推广优化公司
  • 做网站收入怎样开放平台登录
  • 外贸网站运营推广微信运营商
  • 国外做储物柜的网站做亚马逊网站一般发什么快递
  • 仿古建筑公司网站廊坊网站建设公司
  • 在线动画手机网站模板下载学软件开发需要什么基础
  • 北京的网站建设收费标准推广产品的方法和步骤
  • 北京市专业网站制作企业合肥做网络推广的公司