Java DelayQueue add()方法及示例
Java中DelayQueue类的 add(E ele) 方法用于将给定的元素插入延迟队列中,如果元素被成功插入,则返回true。这里,E指的是这个DelayQueue集合所维护的元素类型。
语法 :
public boolean add(E ele)
参数: 这个方法只需要一个参数 ele。 它指的是将被插入到延迟队列中的元素。
返回值: 如果元素被成功添加,它返回一个布尔值,否则它返回false。
异常:
- NullPointerException : 如果试图在这个延迟队列中插入一个NULL,这个方法会抛出一个NullPointerException。
下面的程序说明了DelayQueue类的add()方法:
程序1 :
// Java program to illustrate the add()
// method in Java
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String args[])
{
// Create a DelayQueue instance
DelayQueue<Delayed> queue = new DelayQueue<Delayed>();
// Create an instance of Delayed
Delayed obj = new Delayed() {
public long getDelay(TimeUnit unit)
{
return 24; // some value is returned
}
public int compareTo(Delayed o)
{
if (o.getDelay(TimeUnit.DAYS) > this.getDelay(TimeUnit.DAYS))
return 1;
else if (o.getDelay(TimeUnit.DAYS) == this.getDelay(TimeUnit.DAYS))
return 0;
return -1;
}
};
// Use the add() method to add obj to
// the empty DelayQueue instance
queue.add(obj);
System.out.println("Size of the queue : " + queue.size());
}
}
输出
Size of the queue : 1
程序2 :演示NullPointerException的程序。
// Java program to illustrate the Exception
// thrown by add() method of
// DelayQueue class
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String args[])
{
// Create an instance of DelayQueue
DelayQueue<Delayed> queue = new DelayQueue<Delayed>();
// Try to add NULL to the queue
try {
queue.add(null);
}
// Catch Exception
catch (Exception e) {
// Print Exception raised
System.out.println(e);
}
}
}
输出
java.lang.NullPointerException