很多时候数组存在着很大的缺限,首先必须先设置数组的长度,当设定了之后,就无法改变了。 下来是一种数组长度动态变化的一种方法 package com.yz.mystack; public class Stack { Object[] datas; Integer n=0; Integer N=1; public Stack(){ datas=new Object[N]; } public void push(Object data){ if(n>=N){ N+=2; Object[] temps=datas; datas=new Object[N]; for(int i=0;i<temps.length;i++){ datas[i]=temps[i]; } } datas[n++]=data; } public Object peek(){ return datas[n-1]; } public Object pop(){ if(--n>=0){ return datas[n]; } return 0; } public static void main(String[] args){ Stack stack=new Stack(); stack.push("aa"); stack.push("bb"); stack.push("cc"); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); } }