object是类的实例(java)

时间:2012-08-17 23:19:08

标签: java object instance

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个班级。 预订(正常预订)和RoomBooking(延长预订).. 由于我们必须创建一个存储两者混合的数组,我需要检查对象(a4)是否是RoomBooking的实例,以便我可以比较数字。


我试过if((RoomBooking.class.isInstance(a4))){...} 但它不起作用。

2 个答案:

答案 0 :(得分:20)

if (object instanceof RoomBooking) ...

interesting read

答案 1 :(得分:7)

isAssignableFrom中还有Class方法。

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

我更喜欢@assylias建议的方法,因为它甚至可以在object == null中工作,而isAssignableFrom如果参数为null则会引发错误。因此,您必须检查实例是否为空。

if(object instanceof CabinBooking.class)