Java ConcurrentLinkedQueue offer()方法
ConcurrentLinkedQueue 的 offer() 方法用于在这个ConcurrentLinkedQueue的尾部插入作为参数传递的元素。如果插入成功,该方法返回True。ConcurrentLinkedQueue是无界的,所以这个方法offer()不会返回错误。
语法
public boolean offer(E e)
参数: 该方法需要一个参数 e ,代表我们要插入到这个并发链接队列的元素。
返回: 该方法在成功插入元素后返回true。
异常: 如果指定的元素为空,该方法会抛出 NullPointerException 。
下面的程序说明了ConcurrentLinkedQueue的offer()方法。
例1: 演示ConcurrentLinkedQueen的offer()方法,以添加字符串。
// Java Program Demonstrate offer()
// method of ConcurrentLinkedQueue
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
// create an ConcurrentLinkedQueue
ConcurrentLinkedQueue<String>
queue = new ConcurrentLinkedQueue<String>();
// Add String to queue using offer() method
queue.offer("Aman");
queue.offer("Amar");
queue.offer("Sanjeet");
queue.offer("Rabi");
// Displaying the existing ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
}
}
输出。
ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi]
例2: 演示ConcurrentLinkedQueue的offer()方法,用于添加数字。
// Java Program Demonstrate offer()
// method of ConcurrentLinkedQueue
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
// create an ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
// Add Numbers to queue using offer
queue.offer(4353);
queue.offer(7824);
queue.offer(78249);
queue.offer(8724);
// Displaying the existing ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
}
}
输出。
ConcurrentLinkedQueue: [4353, 7824, 78249, 8724]
例3: 演示offer()方法在添加Null时抛出的NullPointerException。
// Java Program Demonstrate offer()
// method of ConcurrentLinkedQueue
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
// create an ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
// Add null to queue
try {
queue.offer(null);
}
catch (NullPointerException e) {
System.out.println("Exception thrown"
+ " while adding null: " + e);
}
}
}
输出。
Exception thrown while adding null: java.lang.NullPointerException
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#offer-E-