asList
Arrays#asList()はプリミティブの配列は配列として扱わず、1つのオブジェクトとして処理されてしまうのでその代用。
public static List asList(Object array) { if (array == null) { return null; } if (array instanceof List) { return (List) array; } if (array.getClass().isArray()) { if (!array.getClass().getComponentType().isArray() && !array.getClass().getComponentType().isPrimitive()) { return Arrays.asList((Object[]) array); } List ret = new ArrayList(); int size = Array.getLength(array); for (int i = 0; i < size; i++) { Object value = Array.get(array, i); if (value != null && value.getClass().isArray()) { ret.add(asList(value)); } else { ret.add(value); } } return ret; } throw new IllegalArgumentException("not array"); }