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 编译器报告:
不兼容的条件操作数类型 Object[] 和 Iterable
我发现数组只能在接口Serializable
和Cloneable
使用操作时进行比较instanceof
。有人能告诉我为什么吗?