Labmda表达式 Non-static method cannot be referenced from a static context 解决办法

场景描述:使用lambda表达式,提示 Non-static method cannot be referenced from a static context 。(使用mybatis-plus,mapper中的selectList(),做模糊查询,警告编译异常。)

Non-static method cannot be referenced from a static context
非静态方法不能从静态上下文中引用

在这里插入图片描述

List<TradeChild> infoList = tradeChildMapper.selectList(new LambdaQueryWrapper<>().like(StringUtils.isNotEmpty(tradeName),TradeChild::getTradeChildName,tradeName));

解决方案其实很简单,如果我的写法是以下则不会出现问题。
简单来说就是泛型没有指定类型。
在这里插入图片描述

LambdaQueryWrapper<TradeChild> query =new LambdaQueryWrapper<>();
query.like(StringUtils.isNotEmpty(tradeName),TradeChild::getTradeChildName,tradeName)

改成以下即可,遇到相似问题的,可以看一下自己的代码里边是不是没有指定泛型类型。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/luck_sheng/article/details/129311230