Why am I getting an AssertionError when assigning Arrays.asList() to var directly?
This is a bug in Java 10 compiler: https://bugs.openjdk.java.net/browse/JDK-8199910
It is only reproduced when javac
is called with a -g
flag.
Possible workarounds:
- Do not use the
-g
flag- If you use IDEA: Settings → Build, Execution, Deployment → Compiler → Java Compiler → Uncheck "Generate Debugging Info"
- Do not use
var
with intersection types (use explicit types):List<Object> list = Arrays.asList(1L, 2.0F, "3");
var list = Arrays.<Object> asList(1L, 2.0F, "3");
- Use Eclipse which has its own compiler
UDPATE:
The bug was fixed in JDK 10.0.2.