0
これは私のコード全体です。問題は解決のためにArrayを使用する必要があります。関係なく、私は文字列、整数または任意の他のオブジェクトから使用されjava.lang.Integer型values[top++] = nextElement;
で:私はそれをコンパイルするとスレッド "main"の例外java.lang.ArrayStoreException配列にオブジェクトを格納するとき
import java.lang.reflect.Array;
public class MyStack<T> {
public MyStack (Class<T[]> _class,int size){
final T[] values = (T[]) Array.newInstance(_class,size);
this.values = values;
this.size=size;
}
private T[] values;
private int top=0,size;
public void push(T nextElement){
if(isFull()){
System.out.println("full");
}
else {
values[top++] = nextElement;
}
}
public T pop(){
if(isEmpty()) {
System.out.println("empty");
return null;
}
else {
return values[top--];
}
}
public boolean isEmpty(){
if (top==0)return true;
return false;
}
public boolean isFull(){
if(top==size-1)return true;
else return false;
}
public static void main(String args[]){
MyStack<Integer> myStack = new MyStack<Integer>(Integer[].class,9);
for (int i =0;i<10;i++)
{
myStack.push(i);
}
while(!myStack.isEmpty()){
System.out.println(myStack.pop());
}
}
}
は、それがスレッド「メイン」java.lang.ArrayStoreExceptionで例外をスローしません。 この問題を解決する方法はありますか?