编译时,两个分支都被包装在数组中。 结果,数组分支变成了二维数组,这可能说明有问题。
该快速修复会将非数组分支包装在数组中以防止编译器执行转换。
示例:
static void bar(boolean flag) {
Object[] a = {1, 2};
Object b = "hello";
foo(flag ? a : b);
}
static void foo(Object... obj) {
}
应用该快速修复后:
static void bar(boolean flag) {
Object[] a = {1, 2};
Object b = "hello";
foo(flag ? a : new Object[]{b});
}
static void foo(Object... obj) {
}
2020.3 最新变化