【问题标题】:object is an instance of class (java)对象是类的一个实例(java)
【发布时间】:2012-08-14 09:42:23
【问题描述】:
System.out.print("Enter Room Number: ");
int a4 = scan.nextInt();
scan.nextLine();
booking[count]= new RoomBooking (a1,a2,a3,a4);
count++;

if (/* if the object is an instance of RoomBooking(subclass) */) {
    for (int y = 0; y < count; y++) {
        if (a4 == (((RoomBooking) booking[y]).getRoomNumber())) {
            System.out.print("Used number, Please Try again");
        }
    }
}

"如果对象是 RoomBooking(子类) 的实例" 用java怎么写?

对不起,如果这没有意义,还在学习中。

如果您想知道发生了什么,这里有 2 个课程。 Booking(普通预订)和 RoomBooking(扩展预订).. 由于我们必须创建一个存储两者混合的数组,因此我需要检查对象(a4)是否是 RoomBooking 的实例,以便我可以比较数字。


我试过 if ((RoomBooking.class.isInstance(a4))){...} 但它没有用。

【问题讨论】:

标签: java object instance


【解决方案1】:

if (object instanceof RoomBooking) ...

还有一个interesting read

【讨论】:

    【解决方案2】:

    Class中还有isAssignableFrom方法。

    if(CabinBooking.class.isAssignableFrom(object.getClass())
    

    我更喜欢@assylias 建议的方法,因为即使在object == null 中它也可以工作,而isAssignableFrom 如果参数为空,则会抛出错误。所以你必须检查实例不为空。

    if(object instanceof CabinBooking.class)
    

    【讨论】:

      猜你喜欢
      • 2013-04-01
      • 2019-09-29
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 2018-01-12
      • 2021-09-18
      相关资源
      最近更新 更多