Java Vector clone()方法及实例
Vector类的 clone() 方法是用来返回Object类提供的 这个向量 的 浅层拷贝 。它只是创建一个向量的副本。该副本将有一个对内部数据数组的克隆的引用,但没有对原始内部数据数组的引用。
语法
Vector.clone()
参数: 该方法不接受任何参数。
返回值: 该方法返回一个对象,该对象只是向量的副本。
抛出的异常: CloneNotSupportedException:如果对象的类不支持Cloneable接口,就会抛出这个异常。
例子1 :
// Java Program to Illustrate clone() method of Vector class
// Importing required classes
import java.util.*;
// Main class
// VectorDemo
public class GFG {
// Main driver method
public static void main(String args[])
{
// Creating an empty Vector by creating object
// of vector class of string type
Vector<String> vec_tor = new Vector<String>();
// Adding custom input elements into the vector
// using add() method
vec_tor.add("Welcome");
vec_tor.add("To");
vec_tor.add("Geeks");
vec_tor.add("For");
vec_tor.add("Geeks");
// Print and display all vector elements
System.out.println("Vector: " + vec_tor);
// Creating another vector to copy by
// creating an object of Object class
Object copy_vector = vec_tor.clone();
// Print and display the cloned vector elements
System.out.println("The cloned vector is: "
+ copy_vector);
}
}
输出
Vector: [Welcome, To, Geeks, For, Geeks]
The cloned vector is: [Welcome, To, Geeks, For, Geeks]
例2 :
// Java Program to Illustrate clone() method of Vector class
// Importing required classes
import java.util.*;
// Main class
// VectorDemo
public class VectorDemo {
// Main driver method
public static void main(String args[])
{
// Creating an empty Vector by creating
// object of Vector class of Integer type
Vector<Integer> vec_tor = new Vector<Integer>();
// Add custom input elements for
// using add() method
vec_tor.add(10);
vec_tor.add(15);
vec_tor.add(30);
vec_tor.add(20);
vec_tor.add(5);
// Print and display the vector elements
System.out.println("Vector: " + vec_tor);
// Creating another vector to copy by
// creating object of Object class
Object copy_vector = (Vector)vec_tor.clone();
// Print and display elements of cloned vector
System.out.println("The cloned vector is: " + copy_vector);
}
}
输出
Vector: [10, 15, 30, 20, 5]
The cloned vector is: [10, 15, 30, 20, 5]

注意: 在上面的例子中,我们通过创建Object类本身的对象来克隆向量,因为它提供了clone()方法。因此,如果对象类不支持任何可克隆的接口,那么它将不允许克隆和复制向量元素,所以它将抛出CloneNotSupportedException 。
极客教程