类型转化的问题

来源:5-12 停止失效

丨木頭丶吅

2020-02-20

首先我是jdk8,也遇到了小伙伴们的:1、类型转化报错,将生产者和消费者中的BlockingQueue换成ArrayBlockingQueue得以解决;2、生产者生产完加上休眠,会让消费者有足够时间消费,程序能正常停止,去掉sleep()后生产者无法结束运行(符合预期)。
我想提问的是:
ArrayBlockingQueue是实现了BlockingQueue的,为什么会出现类型转化报错呢?而且正确运行过一次后,将生产者和消费者中的ArrayBlockingQueue换回BlockingQueue,哪怕重新编译了,程序也不报错了。

public class ArrayBlockingQueue<E> extends AbstractQueue<E>
        implements BlockingQueue<E>, java.io.Serializable
写回答

1回答

悟空

2020-02-20

可能是包引入的问题。引入的时候如果正确,我认为是不应该出现类型转化报错的,因为ArrayBlockingQueue是实现了BlockingQueue的。

0
2
悟空
回复
丨木頭丶吅
可能是IDE的bug
2020-02-21
共2条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 940 问题

查看课程