Является ли подкласс массива String массивом Object?

Думаю, мне здесь не хватает чего-то базового. Любые объяснения или указатели на ранее заданные вопросы будут очень полезны.

import java.util.Arrays;
import java.util.List;

public class St {

    public static void bla(Object[] gaga) {
            gaga[0] = new Date(); // throws ArrayStoreException
        System.out.println(gaga[0]);
    }

    public static void bla(List<Object> gaga) {
        System.out.println(gaga.get(0));
    }

    public static void main(String[] args) {
            String[] nana = { "bla" };
        bla(nana); // Works fine

        List<String> bla1 = Arrays.asList(args);
        bla(bla1); // Wont compile

            System.out.println(new String[0] instanceof Object[]); // prints true
            System.out.println(nana.getClass().getSuperclass().getSimpleName()); // prints Object
    }

}

Таким образом, похоже, что List не является подклассом List , а String [] является подклассом Объект [] .

Верно ли это предположение? Если да, то почему? Если нет, то почему?

Спасибо

7
задан Kal 11 January 2012 в 19:56
поделиться