自定义注解

Java中注解学习系列教程-5 excel导出优化初级阶段

在上一篇文章中,我们实现了使用自定义注解导出Excel的小案例。但是有问题的。我们发现,如果对象属性中包含了date类型或者使用了枚举类。这个时候就会出问题。我们来看看问题所在:是不是已经看到了结果:性别出现了1和0,而日期也出现的格式不是我们习惯的格式。.在来看看这个1是怎么来的。是从枚举类GenderEnum中来的。我们来看看性别枚举类:现在来说说本文我们主要解决的问题:1:怎么对日期进行格式

在上一篇文章中,我们实现了使用自定义注解导出Excel的小案例。但是有问题的。我们发现,如果对象属性中包含了date类型或者使用了枚举类。这个时候就会出问题。我们来看看问题所在:

0b73cda46837fe5021e7ade737a04aa5.png

是不是已经看到了结果:性别出现了1和0 ,而日期也出现的格式不是我们习惯的格式。.在来看看这个1是怎么来的。

是从枚举类GenderEnum中来的。

我们来看看性别枚举类:

80a1a9027572ce6ac9b6dcd21c9444da.png

现在来说说本文我们主要解决的问题:

1:怎么对日期进行格式化?

2:怎么对枚举类进行转中文?

一:怎么对日期进行格式化

通过前几篇文章学习中,我们知道了怎么自定义注解及使用。我们也知道自定义枚举类的成员属性可以有八大基本类型及其他类型。

分析:

那么我们可不可以用boolean来标识是否使用日期,在使用string类型对日期进行格式?

1.1:在自定义注解的成员变量中,我们定义一个Boolean类型的成员,用来标注要开始对日期进行格式化了。

/**
 * 是否需要格式化日期.
 * 改字段必须注解在date类型的字段上。否则会有问题
 * @return
 */
public abstract boolean isDateFormat() default false;

1.2:我们使用String类型的成员变量,来对日期进行格式化:

/**
 * 日期格式化 format
 * @return
 */
public abstract String dateFormatSdf() default "yyyy-MM-dd";

7d49af1d3254bc4bfee40e2d214c5b52.png

1.3:那么怎么使用呢?

我们在AnnotationUserPoJo这个类的private Date birthDay;属性上使用:

   /**
     * 生日
     */
    @ExcelAnnotation(ZHName = "生

原创不易,完成人机校验,阅读全文

相关推荐