Avatar
ちなみに Java の配列は covariant なので Object[]String[] を入れられるんですけど、ミュータブルなのでぶっ壊れます。 $ cat BrokenCovariance.java import java.util.Arrays; public class BrokenCovariance { public static void main(String[] args) { String[] ss = { "XYZ" }; Object[] os = ss; // OK System.out.println(Arrays.toString(os)); os[0] = 42; // Can be compiled, but causes runtime error System.out.println(Arrays.toString(os)); } } $ javac BrokenCovariance.java $ java BrokenCovariance [XYZ] Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer at BrokenCovariance.main(BrokenCovariance.java:10)