A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 草上飞 中级黑马   /  2012-10-28 21:51  /  1693 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问泛型的上限和下限,怎么回事,我有点晕,请问各位高手能用代码直接的告诉我吗,我会感激不尽的?

1 个回复

倒序浏览
//设置TestA类的上限为Number
class TestA<T extends Number>{
        private T num ;
        public T getNum() {
                return num;
        }
        public void setNum(T num) {
                this.num = num;
        }       
}

class TestB<T>{       
        private T num ;
        public T getNum() {
                return num;
        }
        public void setNum(T num) {
                this.num = num;
        }
}
public class Demo8 {
        public static void main(String[] args) {
                //上限: 实例化TestA的时候 其泛型范围上限为Number类型 在此为Integer
                TestA<Integer> taTestA = new TestA<Integer>();
                taTestA.setNum(15);                                //传入Integer类型
                System.out.println(taTestA.getNum());
               
               
                //下限: 设置TestB<T>的泛型 T 是String 那么实例化的时候只能是String或Object类型
                TestB<? super String> tbTestB = new TestB<String>();
                tbTestB.setNum("黑马");                        //传入String类型
                System.out.println(tbTestB.getNum());
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马