Item 29. Generic Type
μμ μ½λ
μ λ€λ¦ νμ
μ μ© μ μ½λ
class Stack {
private static final int DEFAULT_INITIAL_CAPACITY = 16;
private Object[] elements;
private int size = 0;
public Stack() {
elements = new Object[DEFAULT_INITIAL_CAPACITY];
}
public void push(Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop() {
if (size == 0) {
throw new EmptyStackException();
}
Object result = elements[--size];
elements[size] = null;
return result;
}
public boolean isEmpty() {
return size == 0;
}
private void ensureCapacity() {
if (elements.length == size) {
elements = Arrays.copyOf(elements, 2 * size + 1);
}
}
}
class Main {
public static void main(String[] args) {
Stack stack = new Stack();
stack.push("Hello");
stack.push("Ogu");
while (!stack.isEmpty()) {
System.out.println(stack.pop());
}
}
}μ λ€λ¦ νμ
μ μ© μ½λ
@SuppressWarnings("unchecked") μ΄λ
Έν
μ΄μ
μΆκ°
@SuppressWarnings("unchecked") μ΄λ
Έν
μ΄μ
μΆκ°μ νμ΄ νμν μ λ€λ¦
Last updated