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[] 如果它足够大,则将 Vector 的元素存储在其中; 如果不是,则为此分配了一个相同运行时类型的新数组。
返回值: 该方法返回一个包含该队列所有元素的数组。
异常: 该方法会抛出以下异常:
- ArrayStoreException : 如果指定数组的运行时类型不是此队列中每个元素的运行时类型的超类型。
- NullPointerException : 如果指定的数组为 null。
程序2:
// Java代码说明
// LinkedTransferQueue 的 toarray(a[]) 方法
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// 创建 LinkedTransferQueue 对象
LinkedTransferQueue<String> LTQ
= new LinkedTransferQueue<String>();
// 使用add()方法向 LinkedTransferQueue 的末尾添加数字
LTQ.add("欢迎");
LTQ.add("来到");
LTQ.add("Geeks");
LTQ.add("for");
LTQ.add("Geeks");
// 使用 toArray() 方法获取数组
String[] arr = new String[5];
arr = LTQ.toArray(arr);
// 打印 LTQ
System.out.println("跨越转移队列: "
+ LTQ);
// 打印数组
System.out.println("数组表示: "
+ Arrays.toString(arr));
}
}
跨越转移队列: [欢迎, 来到, Geeks, for, Geeks]
数组表示: [欢迎, 来到, Geeks, for, Geeks]
程序 3: 显示空指针异常的程序。
// Java 代码说明
// LinkedTransferQueue 的 toarray(a[]) 方法
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// 创建 LinkedTransferQueue 对象
LinkedTransferQueue<String> LTQ
= new LinkedTransferQueue<String>();
// 使用add()方法向 LinkedTransferQueue 的末尾添加数字
LTQ.add("欢迎");
LTQ.add("来到");
LTQ.add("Geeks");
LTQ.add("for");
LTQ.add("Geeks");
// 打印 LTQ
System.out.println("跨越转移队列: "
+ LTQ);
try {
System.out.println("尝试获得数组表示"
+ "通过传递 null.");
LTQ.toArray(null);
}
catch (Exception e) {
System.out.println(e);
}
}
}
跨越转移队列: [欢迎, 来到, Geeks, for, Geeks]
尝试获得数组表示通过传递 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)
极客教程