package generics; public class SimpleStack { /* * Der Einsatz eines Typ-Parameters hält diese Klasse generisch und * ermöglicht es, dass erst in der Main der Datentyp des Arrays festgelegt * werden kann. Somit ist die generische Klasse in ihrer Implementierung * unabhängig von der Main-Klasse. */ private T[] stack; private int pos; @SuppressWarnings("unchecked") public SimpleStack(int size) { stack = (T[]) new Object[size]; pos = 0; } public void push(T o) { stack[pos++] = o; } public T pop() { return stack[--pos]; } /* * Dies ist ziemlich schlechter Programmierstiel, da für einen gut * funktionierenden Stack noch weitere Methoden fehlen. * Diese sind zum Beispiel swap(), peek() und clear(). So das es möglich * ist Daten zu Tauschen (swap()), Daten zu löschen (clear()) oder nach * Daten zu suchen (peek()) */ public int getSize () { // TODO Auto-generated method stub return pos; } }