当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Stack clone()用法及代码示例


Stack类的clone()方法用于返回此Stack的浅拷贝。它只是创建堆栈的副本。该副本将引用内部数据阵列的克隆,但不引用原始内部数据阵列。

用法:

Stack.clone()

参数:该方法不带任何参数。


返回值:该方法返回一个Object,它只是Stack的副本。

异常:如果对象的类不支持Cloneable接口,则此方法将引发CloneNotSupportedException。

以下示例程序旨在说明Java.util.Stack.clone()方法:

示例1:

// Java code to illustrate clone() 
  
import java.util.*; 
  
public class StackDemo { 
    public static void main(String args[]) 
    { 
        // Creating an empty Stack 
        Stack<String> stack = new Stack<String>(); 
  
        // Use add() method to add elements into the Stack 
        stack.add("Welcome"); 
        stack.add("To"); 
        stack.add("Geeks"); 
        stack.add("4"); 
        stack.add("Geeks"); 
  
        // Displaying the Stack 
        System.out.println("Stack: " + stack); 
  
        // Creating another Stack to copy 
        Object copy_Stack = stack.clone(); 
  
        // Displaying the copy of Stack 
        System.out.println("The cloned Stack is: "
                           + copy_Stack); 
    } 
}
输出:
Stack: [Welcome, To, Geeks, 4, Geeks]
The cloned Stack is: [Welcome, To, Geeks, 4, Geeks]

示例2:

// Java code to illustrate clone() 
  
import java.util.*; 
  
public class StackDemo { 
    public static void main(String args[]) 
    { 
        // Creating an empty Stack 
        Stack<Integer> stack = new Stack<Integer>(); 
  
        // Use add() method to add elements into the Queue 
        stack.add(10); 
        stack.add(15); 
        stack.add(30); 
        stack.add(20); 
        stack.add(5); 
  
        // Displaying the Stack 
        System.out.println("Stack: " + stack); 
  
        // Creating another Stack to copy 
        Object copy_Stack = (Stack)stack.clone(); 
  
        // Displaying the copy of Stack 
        System.out.println("The cloned Stack is: "
                           + copy_Stack); 
    } 
}
输出:
Stack: [10, 15, 30, 20, 5]
The cloned Stack is: [10, 15, 30, 20, 5]


相关用法


注:本文由纯净天空筛选整理自Code_r大神的英文原创作品 Stack clone() method in Java with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。