当前使用版本(必填,否则不予处理)

3.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

如果是匿名类,Class.getCanonicalName()可能返回null,LambdaUtils.resolve方法可能会报空指针异常

重现步骤(如果有就写完整)

LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(new SFunction() { @Override public Object apply(User user) { return user.getId(); } }, 1); 查询会报错

报错信息

java.lang.NullPointerException: null at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) at com.baomidou.mybatisplus.core.toolkit.LambdaUtils.resolve(LambdaUtils.java:62) at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:63) at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:59) at com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper.columnToString(AbstractLambdaWrapper.java:39)

Comment From: wuare

https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getCanonicalName--

Returns null if the underlying class does not have a canonical name (i.e., if it is a local or anonymous class or an array whose component type does not have a canonical name).

Comment From: wuare

3.4.0修复了,打扰了