这段Java代码怎么加泛型,本人Java刚起步,望大神指点。

这段Java代码怎么加泛型,本人Java刚起步,望大神指点。

问题描述:

import java.util.* ;

public class testdemo {
static void showpush (Stack st, int a) {
st.push(a) ;
System.out.println("入栈(" + a + ")") ;
System.out.println("Stack:" + st) ;
}
static void showpop (Stack st) {
System.out.print("出栈 -> ") ;
Integer a = (Integer) st.pop() ;
System.out.println(a) ;
System.out.println("Stack:" + st) ;
}

    public static void main(String args[]) {
            Stack st = new Stack () ;
            System.out.println("Stack:" + st) ;
            showpush(st, 42) ;
            showpush(st, 66) ;
            showpush(st, 99) ;
            showpop(st) ;
            showpop(st) ;
            showpop(st) ;
            try {
                    showpop(st) ;
                }
            catch (EmptyStackException e) {
                    System.out.println("出现异常:栈中内容为空") ;
                }
        }       
}

import java.util.* ;

public class Test {

    static<T> void showpush (Stack<T> st, T a) {
        st.push(a) ;
        System.out.println("入栈(" + a + ")") ;
        System.out.println("Stack:" + st) ;
    }
    static<T> void showpop (Stack<T> st) {
        System.out.print("出栈 -> ") ;
        T a = (T) st.pop() ;
        System.out.println(a) ;
        System.out.println("Stack:" + st) ;
    }
    public static void main(String args[]) {
        //Stack<Integer> st = new Stack<Integer>() ;
        Stack<String> st = new Stack<String>() ; //使用Stack<String> 则必须传入String
        System.out.println("Stack:" + st) ;
        /*showpush(st, 42) ;
        showpush(st, 66) ;
        showpush(st, 99) ;*/
        showpush(st, "42") ;
        showpush(st, "66") ;
        showpush(st, "99") ;
        showpop(st) ;
        showpop(st) ;
        showpop(st) ;
        try {
            showpop(st) ;
        }
        catch (EmptyStackException e) {
            System.out.println("出现异常:栈中内容为空") ;
        }
    }       
}

直接给方法加泛型即可,

 Stack修改为Stack<T>
而T可以参数化成某个类型,这里为Integet