Java
Suspicious ternary operator in varargs method call
Warning
New
Last modified: 03 December 2024Reports vararg method calls that use a ternary operator with mixed array and non-array branches.
When compiled, both branches are wrapped in arrays. As a result, the array branch is turned into a two-dimensional array, which may indicate a problem.
The quick-fix wraps the non-array branch in an array to prevent the compiler from doing the conversion.
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
SuspiciousTernaryOperatorInVarargsCall
Example:
static void bar(boolean flag) {
Object[] a = {1, 2};
Object b = "hello";
foo(flag ? a : b);
}
static void foo(Object... obj) {
}
After the quick-fix:
static void bar(boolean flag) {
Object[] a = {1, 2};
Object b = "hello";
foo(flag ? a : new Object[]{b});
}
static void foo(Object... obj) {
}
This inspection depends on the Java feature 'Variable arity methods', which is available since Java 5.
New in 2020.3
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!
Was this page helpful?