Consider the following (invalid) Java program:
public class Test { public static void main(String[] args) { int[] ints = {1, 2, 3, 4, 5}; print(ints); } public void print(int... ints) { for (int i : ints) { System.out.print(i); } } }
I would expect an error like this:
Cannot make a static reference to the non-static method print(int[]) from the type Test at Test.main(Test.java:5)
but instead javac emits:
Test.java:5: error: method print in class Test cannot be applied to given types; print(ints); ^ required: int[] found: int[] reason: varargs mismatch; int[] cannot be converted to int 1 error
javac -version javac 1.8.0_11 java -version
java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
This happened on this issue . Is this a bug in javac? Or am I missing something dead here?
java java-8 javac
jdphenix
source share