java 项目 预警_java开发中的常见代码黄线预警

java日常开发中,经常会碰到开发工具idea、Eclipse等在一些代码中报黄线,这对于很多具有强迫症的同学来说,也是一件很头疼的事,尤其是编码不注意规范的同学来说。

下面我就列举一些常见的黄线预警及其解决办法:

1、Reports local variable of wrapper type though all usages allowed to be primitive and count of unnecessary boxing/unboxing operations reduces

例:

0c900d582ac37e4ea8c534740eb25cb3.png

解决方案:将黄线部分的包装类型Integer改成对应基本数据类型,即int

2、Unchecked assignment: 'java.util.LinkedHashMap' to 'java.util.Map

例子:

6df9c2ceeb4e72cb603d1e457572c2a8.png

解决方案:添加泛型尖括号

new LinkedHashMap<>();

3、'while' loop replaceable with 'foreach'

例:

89d6f18ce3f995d60a6eb5debf0d7905.png

解决方案:

Iterator var2 = list.iterator();

for (;var2.hasNext();){

Object tem = var2.next();

maps.add(beanToMap(tem));

}

或者

Iterator var2;

for (var2 = list.iterator(); var2.hasNext();) {

Object tem = var2.next();

maps.add(beanToMap(tem));

}

4、'for' loop replaceable with 'foreach'

例:

6e92df537e61a199484351a8844f7580.png

解决方案:

for (String attr : attrs) {

//xxx

}

5、Value 'xxx' is always 'true'

例:

3981b74d3b9d570b40c37969c98cef7d.png

解决方案:

if (notNull)  {

returntrue;

}

6、'if' statement can be simplified

例:

bb8deaf357ea23c4aa1d78a925405f68.png

解决方案:

return str2 != null;

7、Anonymous new Comparator() can be replaced with lambda

例:

cb03c90a40eec3e141d743744d624616.png

解决方案:

tmpMap = new TreeMap<>((o1, o2)->o1.compareTo(o2));

———— 这是使用了java8中的拉姆达表达式优化

8、Wildcard type argument '?' explicitly extends 'java.lang.Object'

例:

645d556f2c8bcabfa9dc4a31d9bc8376.png

解决方案:

Function

9、持续更新中...

例:

解决方案:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Java物料到期预警,发送待办消息的实现代码示例: ```java public class MaterialExpireReminder { // 定义物料到期提醒的时间间隔,单位为毫秒 private static final long REMINDER_INTERVAL = 24 * 60 * 60 * 1000; public static void main(String[] args) { // 启动定时任务,每天定时执行物料到期提醒 TimerTask reminderTask = new TimerTask() { @Override public void run() { // 获取当前时间 Date now = new Date(); // 查询物料信息,判断是否需要发送待办消息 List<MaterialInfo> materialList = queryMaterialList(); for (MaterialInfo material : materialList) { // 判断物料是否已经到期 if (material.getExpireTime().getTime() - now.getTime() <= 0) { // 发送待办消息,提醒用户处理该物料 sendReminderMessage(material); } } } }; Timer timer = new Timer(); // 每天定时执行物料到期提醒任务 timer.schedule(reminderTask, 0, REMINDER_INTERVAL); } private static List<MaterialInfo> queryMaterialList() { // 查询数据库,获取物料信息列表 // 省略具体实现 } private static void sendReminderMessage(MaterialInfo material) { // 发送待办消息,提醒用户处理该物料 // 省略具体实现 } } ``` 在上述代码,我们使用了Java的Timer和TimerTask类来实现定时任务,每天定时执行物料到期提醒的逻辑。在reminderTask的run方法,首先获取当前时间,然后查询物料信息列表,判断每个物料是否已经到期,如果到期,则发送待办消息提醒用户处理该物料。具体的查询物料信息和发送待办消息的实现可以根据业务需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值