Java LinkedTransferQueue toArray()方法及示例
public Object[] toArray()
Java.util.concurrent.LinkedTransferQueue的 toArray() 方法是Java的一个内置函数,用于形成一个与LinkedTransferQueue相同元素的数组。基本上,它将所有的元素复制到LinkedTransferQueue的新数组中。
语法
public Object[] toArray()
参数: 该方法不接受任何参数。
返回: 该方法返回一个包含该队列所有元素的数组,作为其数组表示。
异常: 此方法不抛出任何异常。
下面的程序说明了LinkedTransferQueue类的toArray()函数。
程序1 :
// Java code to illustrate
// toarray() method of LinkedTransferQueue
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// create object of LinkedTransferQueue
LinkedTransferQueue<String> LTQ
= new LinkedTransferQueue<String>();
// Add numbers to end of LinkedTransferQueue
// using add() method
LTQ.add("GeeksforGeeks");
LTQ.add("GFG");
LTQ.add("Geeks");
LTQ.add("gfg");
// Get the array using toArray() method
Object[] obj = LTQ.toArray();
// Print the LTQ
System.out.println("Linked Transfer Queue: "
+ LTQ);
// Print the array
System.out.println("Array representation: "
+ Arrays.toString(obj));
}
}
输出:
Linked Transfer Queue: [GeeksforGeeks, GFG, Geeks, gfg]
Array representation: [GeeksforGeeks, GFG, Geeks, gfg]
public T[] toArray(T[] a)
Java.util.concurrent.LinkedTransferQueue的 toArray() 方法是Java的一个内置函数,用来形成一个与LinkedTransferQueue相同元素的数组。它返回一个包含该LinkedTransferQueue中所有元素的数组,并且顺序正确;返回的数组的运行时类型是指定数组的类型。如果LinkedTransferQueue适合指定的数组,它就会被返回。否则,将分配一个新的数组,其运行时类型为指定的数组,大小为这个LinkedTransferQueue。
语法
public T[] toArray (T[] a)
参数: 该方法接受一个参数 a [ ] ,如果该数组足够大,则将向量的元素存储到该数组中;否则,将为此目的分配一个相同运行时类型的新数组。
返回: 该方法返回一个包含该队列所有元素的数组。
异常: 该方法会抛出以下异常。
- ArrayStoreException : 如果指定数组的运行时类型不是该队列中每个元素的运行时类型的超类型
- NullPointerException :如果指定的数组是空的。
程序2 :
// Java code to illustrate
// toarray(a[]) method of LinkedTransferQueue
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// Create object of LinkedTransferQueue
LinkedTransferQueue<String> LTQ
= new LinkedTransferQueue<String>();
// Add numbers to end of LinkedTransferQueue
// using add() method
LTQ.add("Welcome");
LTQ.add("to");
LTQ.add("Geeks");
LTQ.add("for");
LTQ.add("Geeks");
// Get the array using toArray() method
String[] arr = new String[5];
arr = LTQ.toArray(arr);
// Print the LTQ
System.out.println("Linked Transfer Queue: "
+ LTQ);
// Print the array
System.out.println("Array representation: "
+ Arrays.toString(arr));
}
}
输出:
Linked Transfer Queue: [Welcome, to, Geeks, for, Geeks]
Array representation: [Welcome, to, Geeks, for, Geeks]
程序3: 显示空指针异常的程序。
// Java code to illustrate
// toarray(a[]) method of LinkedTransferQueue
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// create object of LinkedTransferQueue
LinkedTransferQueue<String> LTQ
= new LinkedTransferQueue<String>();
// Add numbers to end of LinkedTransferQueue
// using add() method
LTQ.add("Welcome");
LTQ.add("to");
LTQ.add("Geeks");
LTQ.add("for");
LTQ.add("Geeks");
// Print the LTQ
System.out.println("Linked Transfer Queue: "
+ LTQ);
try {
System.out.println("Trying to get array"
+ " representation by "
+ "passing null.");
LTQ.toArray(null);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Linked Transfer Queue: [Welcome, to, Geeks, for, Geeks]
Trying to get array representation by passing null.
java.lang.NullPointerException
参考资料
- https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/LinkedTransferQueue.html#toArray()
- https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/LinkedTransferQueue.html#toArray(T%5B%5D)