byte [ ] hehe = { 4 , 5 , 6 }if (hehe  instanceof char[]) {
 
}这样编译会出错:inconvertible types; found:byte[] required char [ ]char[ ] hehe = { 4 , 5 , 6 }if (hehe  instanceof char[]) {}这样就不会出错请问是为什么呢?还有就是在此声明的数组又不是对象,那怎么还能使用instanceof运算符呢?

解决方案 »

  1.   

    instanceof 的含义是告诉我们对象是不是某个特定类型的实例.通俗一点讲就是:"你是这个类吗?或者你是这个类的派生类吗? 它也是RTTI的一种形式.基本上是用在向下转型前!
    hehe  instanceof char[],这样的话你的这个肯定不对了.
    而数组也是对象呀.当然可以用instanceof.
      

  2.   

    在用instance之前,最好先向上转型为Object.不然就会出现你上面的那种错误!
    下面是我的理解:
    比如: a instance new B();这里a 和B要么必须有联系.即继承关系.要么,先将a向上转型为Object.