Java 如何将超类转换为子类
我有这个问题,我似乎无法在互联网上找到解决办法。我在这里发布了一个类似的链接 我正在使用ScheduledThreadPoolExecutor类。在该类下,有一个名为getQueue的方法。但是,getQueue返回可运行接口的BlockingQueue。Java 如何将超类转换为子类,java,concurrency,runnable,Java,Concurrency,Runnable,我有这个问题,我似乎无法在互联网上找到解决办法。我在这里发布了一个类似的链接 我正在使用ScheduledThreadPoolExecutor类。在该类下,有一个名为getQueue的方法。但是,getQueue返回可运行接口的BlockingQueue。 有没有办法从可运行接口的阻塞队列中获取示例类?是否使用ScheduledThreadPoolExecutor的schedule方法将新任务插入队列? 这些任务是示例类的一部分吗 如果是这样,那么在获得新的“Runnable”时,您可以通过以下
有没有办法从可运行接口的阻塞队列中获取示例类?是否使用ScheduledThreadPoolExecutor的schedule方法将新任务插入队列? 这些任务是示例类的一部分吗 如果是这样,那么在获得新的“Runnable”时,您可以通过以下方式将其转换为示例:
Runnable r = getRunnableFromQueue();
Example e = (Example) r;
根据程序的流程,最好在强制转换之前验证类型是否匹配(例如使用instanceof)
希望能有所帮助。@jmort253谢谢。我忘了我可以做铸造。是的,新任务是示例类的一个实例。我将尝试代码。
Runnable r = getRunnableFromQueue();
Example e = (Example) r;