class MyStack {
Object stack[] = new Object[10];
int top=0;
public void push(Object d){
stack[top++] = d;
}
public Object pop(){
return stack[--top];
}
}
public class Stackmain {
public static void main(String[] args){
MyStack s = new MyStack();
s.push(3.0); s.push(3.0);
System.out.println(s.pop());
System.out.println(s.pop());
}
}
간단하게 스택을 오브젝트로 구현한건데
여기서 제네릭으로 바꾸려면
class MyStack<T> {
T stack[] = new T[10];
int top=0;
public void push(T d){
stack[top++] = d;
}
public T pop(){
return stack[--top];
}
}
public class Stackmain {
public static void main(String[] args){
MyStack<Integer> s = new MyStack<Integer>();
s.push(3.0); s.push(3.0);
System.out.println(s.pop());
System.out.println(s.pop());
}
}
이렇게 하는거 아니야?
근데 이렇게 하니까 MyStack 클래스 배열선언부분이 잘못됬대
generic 쓸땐 배열선언어떻게하는거지?
Object stack[] = new Object[10];
int top=0;
public void push(Object d){
stack[top++] = d;
}
public Object pop(){
return stack[--top];
}
}
public class Stackmain {
public static void main(String[] args){
MyStack s = new MyStack();
s.push(3.0); s.push(3.0);
System.out.println(s.pop());
System.out.println(s.pop());
}
}
간단하게 스택을 오브젝트로 구현한건데
여기서 제네릭으로 바꾸려면
class MyStack<T> {
T stack[] = new T[10];
int top=0;
public void push(T d){
stack[top++] = d;
}
public T pop(){
return stack[--top];
}
}
public class Stackmain {
public static void main(String[] args){
MyStack<Integer> s = new MyStack<Integer>();
s.push(3.0); s.push(3.0);
System.out.println(s.pop());
System.out.println(s.pop());
}
}
이렇게 하는거 아니야?
근데 이렇게 하니까 MyStack 클래스 배열선언부분이 잘못됬대
generic 쓸땐 배열선언어떻게하는거지?
댓글 0