【问题标题】:How can I specify which class an object in an array list of many different objects from different classes comes from如何指定来自不同类的许多不同对象的数组列表中的对象来自哪个类
【发布时间】:2015-03-15 03:01:57
【问题描述】:

我为每个循环创建了一个遍历数组列表中所有对象的循环。这个数组列表中的对象是在不同的类中构造的,这些类都是同一个超类的子类。如何在循环体内引用对象所属的子类?

我做了什么:

for (Appointment item: AppointmentBook.apps){


         if (item instanceof Onetime){
             //this isn't valid java but I don't know what to do here
             Onetime.item.occursOn(int month, int day, int year)
         }

    }//forloop

我知道这不是一个有效的解决方案,但我最好的猜测是以某种方式使用 instanceof 来检查循环所在的当前项属于哪个子类。编辑:我想要做的是尝试调用我在 Onetime 子类中编写的名为发生的方法

【问题讨论】:

  • 你想做什么?
  • 我正在尝试调用我在 Onetime 子类中编写的名为 occurOn 的方法
  • 您对 instanceof 的猜测是正确的。您只需要相应地投射对象,例如 ((Onetime) item).occursOn()
  • 太棒了,谢谢!

标签: java arraylist foreach subclass instanceof


【解决方案1】:

为了得到答案,像这样投射它。

((Onetime) item).occursOn()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多