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

Mybatis-Plus: 3.0.6

Cat73-MacBook-Air:<project name> Cat73$ java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

Cat73-MacBook-Air:<project name> Cat73$ gradlew --version

------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------

Build time:   2018-11-26 11:48:43 UTC
Revision:     7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987

Kotlin DSL:   1.0.4
Kotlin:       1.3.10
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          11.0.1 (Oracle Corporation 11.0.1+13-LTS)
OS:           Mac OS X 10.14.2 x86_64

该问题是怎么引起的?

// 这段代码在 IDEA 里会被标黄说明 Unchecked generics array creation for varargs parameter
Wrappers.<User>query(null)
        .orderByDesc(User::getUsername); // 警告在这一行

执行./gradlew clean bootJar会抛出如下警告:

> Task :compileJava
Note: /Users/Cat73/code/IdeaProjects/<project name>/src/main/java/<package name>/service/DemoService.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Comment From: miemieYaho

恩,无解

Comment From: Cat7373

或许可以加几个非数组参数的?比如:

default This orderByDesc(R c1) {
   return orderByDesc(c1);
}
default This orderByDesc(R c1, R c2) {
   return orderByDesc(c1, c2);
}
default This orderByDesc(R c1, R c2, R c3) {
   return orderByDesc(c1, c2, c3);
}

这样基本可以覆盖绝大部分查询了

Comment From: miemieYaho

要累死了

Comment From: Cat7373

加两组 6 个方法而已😂

Comment From: Cat7373

一般 3 个以上的排序条件应该不常见吧😂

Comment From: Cat7373

酱警告要逼死强迫症的啦~

Comment From: miemieYaho

自己注解消除警告

Comment From: miRUAcleInjoker

可以这么写,单个字段order by就不警告了。 Wrappers.lambdaQuery(new User()) .orderByDesc(User::getUsername); 但是多个order by 还是警告, 例:.orderByDesc(User::getUsername, User::getAge); 这时候分开写成.orderByDesc(User::getUsername).orderByDesc(User::getAge);也没警告了。

Comment From: copyshop

Wrappers.lambdaQuery() .select(Store::getAreaId, Store::getAreaCh).groupBy(Store::getAreaId)

groupBy 报同样的问题 但是官方demo 没有 不知道为什么。

Comment From: EvilVarmilo

现在有解决办法了吗?