Java中的 LinkedTransferQueue toArray() 方法及示例
公共对象[] toArray()
Java .util.concurrent.LinkedTransferQueue 的toArray()方法是Java的一个内置函数,用于形成与 LinkedTransferQueue 相同元素的数组。基本上,它将所有元素从 LinkedTransferQueue 复制到新数组中。
句法:
public Object[] toArray()
参数:此方法不接受任何参数。
返回:此方法返回一个包含此队列的所有元素的数组,作为其数组表示。
异常:此方法不抛出任何异常。
下面的程序说明了 LinkedTransferQueue 类的 toArray()函数:
方案一:
// 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 LTQ
= new LinkedTransferQueue();
// 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]
公共 T[] toArray(T[] a)
Java .util.concurrent.LinkedTransferQueue 的toArray()方法是Java的一个内置函数,用于形成与 LinkedTransferQueue 相同元素的数组。它以正确的顺序返回一个包含此 LinkedTransferQueue 中所有元素的数组;返回数组的运行时类型是指定数组的类型。如果 LinkedTransferQueue 适合指定的数组,则在其中返回。否则,将使用指定数组的运行时类型和此 LinkedTransferQueue 的大小分配一个新数组。
句法:
public T[] toArray (T[] a)
参数:该方法接受一个参数a[] ,它是一个数组,如果它足够大,Vector 的元素将被存储到该数组中;否则,将为此目的分配相同运行时类型的新数组。
返回:此方法返回一个包含此队列的所有元素的数组。
异常:此方法引发以下异常:
- ArrayStoreException : 如果指定数组的运行时类型不是此队列中每个元素的运行时类型的超类型
- NullPointerException : 如果指定的数组为空
方案二:
// 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 LTQ
= new LinkedTransferQueue();
// 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 LTQ
= new LinkedTransferQueue();
// 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)