使用@override,出现Remove ‘@Override’ annotation解决方法

本文介绍了解决因JDK版本过低导致的工程异常的方法。主要步骤包括升级JDK到1.6及以上版本,通过修改工程属性中的javaBuildPath来调整JDK版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因:

    jdk版本过低,得升级到jdk1.6及以上版本

修改方法:

      1)右击工程,点击“Properties”

     2)点击java Build Path,在Libraries中修改jdk版本

保存应用后,发现上面异常提示消失

在这段代码中,headClazz传入空值会导致NullPointerException异常。如果要获取entity包中的user、admin表的实体类,可以使用反射机制获取这些类。具体来说,可以使用Class.forName()方法获取类对象,然后将它们作为参数传递给CommonReadListener构造函数。修改后的代码如下: ``` private Class<?> headClazz; private List<Class<?>> entityClasses; /** * @param headClazz excel model 类对象 * @param entityClasses 实体类列表 */ public CommonReadListener(Class<?> headClazz, List<Class<?>> entityClasses) { this.headClazz = headClazz; this.entityClasses = entityClasses; } @Override public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) { ExcelPropertyCheck clazzHeadAnno = this.headClazz.getAnnotation(ExcelPropertyCheck.class); Field[] declaredFields = headClazz.getDeclaredFields(); if (clazzHeadAnno != null && clazzHeadAnno.required()) { for (Field declaredField : declaredFields) { nullAbleFieldMap.put(declaredField.getName(), true); } } for (Field declaredField : declaredFields) { ExcelPropertyCheck annotation = declaredField.getAnnotation(ExcelPropertyCheck.class); if (annotation != null) { if (annotation.checkFormat()) { checkFormatFieldMap.put(declaredField.getName(), annotation.type() + ""); } if (annotation.required()) { nullAbleFieldMap.put(declaredField.getName(), true); } else { nullAbleFieldMap.remove(declaredField.getName()); } if (annotation.required() && annotation.length() != -1) { checkLengthFieldMap.put(declaredField.getName(), annotation.length()); } } } // 获取实体类 for (Class<?> clazz : entityClasses) { if (clazz.getSimpleName().equals("User") || clazz.getSimpleName().equals("Admin")) { // 处理实体类 } } } ``` 在上述代码中,我们新增了一个entityClasses参数,用来传递实体类列表。在invokeHead()方法中,我们使用反射机制获取headClazz类对象中的属性和注解,并且使用entityClasses参数获取User和Admin实体类。你可以将User和Admin实体类的处理代码放到if语句块中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值