如何从BlockingQueue的对象中获取数据?

时间:2015-05-06 12:32:55

标签: java object blockingqueue

我有一个包含所有字段和getter的对象的类。现在,一个线程正在将一些数据放入其中,在我的情况下

object = new MyObject(int, int, char, int) 
queue.put(object);

然后将其放入BlockingQueue,然后第二个线程正在使用此对象

MyObject toSolve = queue.take();

我的问题是如何从对象获取数据以使用其整数进行操作。

1 个答案:

答案 0 :(得分:1)

当然,您实际上并不意味着您正在使用Object?如果是,那么我猜你的问题是你在队列中加了一个YourClass,但是得到了java.lang.Object

如果你看BlockingQueue,你会发现它是通用的,所以写一些类似的东西(注意<>&#39; s)

BlockingQueue bq = new BlockingQueue<YourClass>();
bq.put( new YourClass( 1 , 2 , 'a' , 42 ) );

然后

YourClass yq = bq.take();

在编辑和功能方面都会像魅力一样工作,您可以使用yq上的getter来获取intchar。< / p>

使用泛型,这是他们的目的。

干杯,