Что значит "правильный"? Изначальный код то же самое давал.
code:
import java.util.Arrays;
public class ta {
public static void main(String [] args) {
int[] a = { 1, 2, 3 };
System.out.println(Arrays.asList(a).size());
}
}
дает в результате 1.
code:
C:\Documents and Settings\max>javac -version
javac 1.5.0_06
C:\Documents and Settings\max>java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)
Сами то проверяли? asList в данном случае идет от int[][] по той простой причине, что в 1.5 сигнатура у него asList(T ...), а T не может быть простым типом, в этом случае компилятор считает, что значение от одного аргумента типа int[].