Почему «array instanceof Iterable» не компилируется в Java?

Object[] array = new Object[]{};
System.out.println((array instanceof Serializable));//passed
System.out.println((array instanceof Cloneable));//passed

. Этот код компилируется и запускается. Вывод:

true
true

Однако этот код не компилируется:

System.out.println((array instanceof Iterable));//not passed

Компилятор Eclipse сообщает:

Incompatible conditional operand types Object[] and Iterable

Я обнаружил, что массивы можно сравнивать только между интерфейсами Serializableи Cloneableпри использовании операции instanceof. Может кто-нибудь сказать мне, почему?

16
задан ohyeahchenzai 6 July 2012 в 02:29
поделиться