1、背景:在正式的开发工作中存在这样一种场景,前端传过来的字符串中含有空格,导致后台查询出错
现需要把空格去掉。
2、声明一个自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface Replace {
String source() default "";
String target() default "";
}
3、声明一个转换类
public class ReplaceParser {
/**
* 解析Replace注解
*
* @param o 解析对象
*/
public static Object parse(Object o) {
Class<?> mClass = null;
Object o1 = o;
try {
mClass = o.getClass();
Field[] fields = mClass.getDeclaredFields();
for (Field field : fields) {
if (field.isAnnotationPresent(Replace.class)) {
field.setAccessible(true);
// 获取当前field设置的注解
Replace trimSpace = field.getAnnotation(Replace.class);
String source