[转载] spring mvc自定义int枚举转换器

参考链接: Java中具有自定义值的枚举

2019独角兽企业重金招聘Python工程师标准>>>   

  

 public class MyIntegerEnumConverters {

    @WritingConverter

    public static class EnumToIntegerConverter implements Converter<IntEnumConvertable, String> {

        @Override

        public String convert(IntEnumConvertable source) {

            return String.valueOf(source.getValue());

        }

    }

}

 

 public class MyIntegerToEnumConverterFactory implements ConverterFactory<String, Enum> {

    @Override

    public <T extends Enum> Converter<String, T> getConverter(Class<T> targetType) {

        Class<?> enumType = targetType;

        while (enumType != null && !enumType.isEnum()) {

            enumType = enumType.getSuperclass();

        }

        if (enumType == null) {

            throw new IllegalArgumentException(

                    "The target type " + targetType.getName() + " does not refer to an enum");

        }

        return new IntegerToEnum(enumType);

    }

 

    @ReadingConverter

    public static class IntegerToEnum<T extends IntEnumConvertable> implements Converter<String, IntEnumConvertable> {

        private final Class<T> enumType;

 

        public IntegerToEnum(Class<T> enumType) {

            this.enumType = enumType;

        }

 

        @Override

        public IntEnumConvertable convert(String source) {

            for (T t : enumType.getEnumConstants()) {

                if (t instanceof IntEnumConvertable) {

                    if (t.getValue() == Integer.valueOf(source)) {

                        return t;

                    }

                }

            }

            return null;

        }

    }

 

 

}

 

 public interface IntEnumConvertable extends Serializable {

    int getValue();

}

 

 registry.addConverter(new MyIntegerEnumConverters.EnumToIntegerConverter());

registry.addConverter(new MyIntegerToEnumConverterFactory.IntegerToEnum(null));

registry.addConverterFactory(new MyIntegerToEnumConverterFactory());

 

  

   

    

   

  

 

转载于:https://my.oschina.net/stategrace/blog/749572

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用BufferedImage进行渐变色操作

序 本文主要简述一下如何使用BufferedImage进行渐变色操作。 GradientPaint java/awt/GradientPaint.java public class GradientPaint implements Paint {Point2D.Float p1;Point2D.Float p2;Color color1;Color color2;boolean cyclic;//...... } 这个是生成渐变色的关…

[转载] Java中的字符串处理

参考链接&#xff1a; Java中的StringBuffer appendCodePoint()方法以及示例 JDK8在线Api中文手册 JDK8在线Api英文手册 Java中的字符串处理 1.1 String类的构造函数1.2 字符串的长度1.3 特殊的字符串操作1.3.1 字符串字面值1.3.2 字符串连接1.3.3 字符串和其他数据类型的连…

MySQL循环语句之while循环测试

转自&#xff1a;http://www.nuoweb.com/database/7614.htmlMySQL有循环语句操作&#xff0c;while 循环、loop循环和repeat循环&#xff0c;目前我只测试了 while 循环&#xff0c;下面与大家分享下mysql 操作同样有循环语句操作&#xff0c;网上说有3中标准的循环方式&#x…

[转载] JAVA环境变量配置

参考链接&#xff1a; Java中的变量 安装JDK(1.8) Oracle官网 下载jdk 百度网盘window版本 提取码&#xff1a;o99i win 10环境变量配置 在电脑桌面 右键点击 此电脑 的 属性 选项 选择 高级系统设置 > 然后点击 环境变量 选项 点击 系统变量 下的 新建 按钮&#xf…

[转载] Java中的变量和常量

参考链接&#xff1a; Java中的变量范围 在程序中存在大量的数据来代表程序的状态&#xff0c;其中有些数据在程序的运行过程中值会发生改变&#xff0c;有些数据在程序运行过程中值不能发生改变&#xff0c;这些数据在程序中分别被叫做变量和常量。 在实际的程序中&#xf…

4.3/4.4 磁盘分区

2019独角兽企业重金招聘Python工程师标准>>> 添加虚拟磁盘 第一步&#xff0c;选择虚拟机中的“设置” 第二步&#xff0c;选择“添加硬盘” 第三步&#xff0c;选择_SCSI &#xff08;推荐&#xff09; # 保持默认 第四步&#xff0c;选择“创建新的虚拟磁盘…

[转载] java(三)对象的序列化与static、final关键字

参考链接&#xff1a; Java中的final最终变量 java对象的序列化 Java序列化是指把Java对象转换为字节序列的过程&#xff1b;而Java反序列化是指把字节序列恢复为Java对象的过程。java中存有Cloneable接口&#xff0c;实现此接口的类都具有被拷贝能力&#xff0c;比new一个对象…

RoboMaster 2017:机器人版的「王者农药」,工程师们的竞技时代

8月6日晚&#xff0c;第十六届全国大学生机器人大赛 RoboMaster 2017机甲大师赛在华润深圳湾体育中心“春茧”体育馆举行&#xff0c;关于这个比赛的盛况已经无需赘述&#xff0c;去年雷锋网参加上届比赛时&#xff0c;报道的是「像看了一场演唱会」&#xff0c;如果用演唱会来…

[转载] 详解Java中的泛型

参考链接&#xff1a; Java中具有泛型的有界类型 1、什么是泛型 泛型&#xff0c;即“参数化类型”。一提到参数&#xff0c;最熟悉的就是定义方法时有形参&#xff0c;然后调用此方法时传递实参。那么参数化类型怎么理解呢&#xff1f;顾名思义&#xff0c;就是将类型由原来…

【初学者必读】:前端工程师的知识体系

下图是前端工程师图解&#xff1a; 前端开发的核心是HTML CSS JavaScript。本质上它们构成一个MVC框架&#xff0c;即HTML作为信息模型&#xff08;Model&#xff09;&#xff0c;CSS控制样式&#xff08;View&#xff09;&#xff0c;JavaScript负责调度数据和实现某种展现逻…

[转载] Java面试题大全(2020版)

参考链接&#xff1a; Java中的循环 发现网上很多Java面试题都没有答案&#xff0c;所以花了很长时间搜集整理出来了这套Java面试题大全&#xff0c;希望对大家有帮助哈~ 本套Java面试题大全&#xff0c;全的不能再全&#xff0c;哈哈~ 博主已将以下这些面试题整理成了一个…

使用Prometheus监控Cloudflare的全球网络

Matt Bostock在SRECON 2017欧洲大会的演讲中&#xff0c;介绍了如何使用Prometheus实现对CloudFlare分布于全球的架构和网络的监控。Prometheus是一种基于度量进行监控的工具&#xff0c;CloudFlare是一家CDN、DNS和DDoS防御&#xff08;Mitigation&#xff09;服务提供商。\\基…

[转载] Java-forEach增强for循环是值传递规则详解

参考链接&#xff1a; Java中的for-each循环 1. 引入 正如Java语法意义&#xff0c;变量的传递只有值传递&#xff0c;虽然变量分为引用变量和基本类型变量&#xff0c;前者更像C中的地址概念。 在学习Lambda表达式的时候&#xff0c;遇到了试图在增强for循环中对原链表元素重…

开始吧

2019独角兽企业重金招聘Python工程师标准>>> 写C三年有余&#xff0c;在技术方面也算小有所成。准备在这里分享一些C进阶、Python、Golang技术文章。 CSDN博客地址&#xff1a; http://blog.csdn.net/godmaycry 以后博客同步更新。 转载于:https://my.oschina.net/u…

[转载] 常用应届生Java开发笔试面试题(更新中)

参考链接&#xff1a; Java中的循环的重要事项 Java开发面试题 Java基础篇Java8大基本数据类型Java的三大特性面向对象如果让你推销一款Java产品&#xff0c;你会怎么推销呢&#xff1f;&#xff08;java的特点&#xff09;JVM与字节码JDK与JREStringBuilder和StringBuffer的区…

java/javascript 时间操作工具类

一、java 时间操作工具类 import org.springframework.util.StringUtils;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List;/*** 时间操作工具类** author zwq**/ public …

[转载] java语言程序设计-基础篇

参考链接&#xff1a; Java中的决策制定(if&#xff0c;if-else&#xff0c;switch&#xff0c;break&#xff0c;continue&#xff0c;jump) 第1章&#xff0c;计算机、程序和Java概述 包括【每个java初学者都应该搞懂的问题】 http://blog.csdn.net/haobo920/article/detai…

Exchange server 2013(十四)WSUS部署及组策略设置(2)

我们继续上一节未完的博客&#xff0c;继续我们的WSUS设置。[上一章节标题&#xff1a;Exchange server 2013(十四)WSUS部署及组策略设置(1) 网址&#xff1a;http://1183839.blog.51cto.com/blog/1173839/1182366] 首先单击自动审批,来修改审批规则,也就是说当wsus侦测到新的更…

[转载] Python中的switch语句的替代品

参考链接&#xff1a; Java中的switch语句 Python 中没有 switch语句。 一般用if-else 语句可以替代switch语句&#xff0c;今天学习了使用字典的映射来代替switch语句。Mark一下 day 8; def get_sunday(): return sunday def get_monday(): return monday def get_tues…

“□” 表情无法在 Android 设备显示? 快试试 EmojiCompact 表情兼容库

有了支持库 v26 下的 Compact 库&#xff0c;基于 API 19 及更高版本开发的应用就能获得 emoji 的向下兼容&#xff0c;再也不会看到显示失败的 “豆腐块” 啦。如要使用 EmojiCompact&#xff0c;需要在应用启动时通过下载或者打包字体来初始化库。通过集成小插件&#xff0c;…