コンパイル時には両方の分岐が配列にラップされます。 その結果、配列の分岐は二次元配列になってしまうため、問題が発生する可能性があります。
このクイックフィックスは配列でない分岐を配列にラップし、コンパイラーがこのような変換を行わないようにします。
例:
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 の新機能です