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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© niushicha 中级黑马   /  2014-8-8 18:29  /  1038 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分析:使用泛型强制类型为某类型,比如上面为Integer,在使用setVar()方法时如果参数不是Integer(如String),程序就会报错,提示输入非法。当然你认为也可以不用泛型,比如将Point定义如下:
class Point1{
private Object var;
public Object  getVar(){
return var;
}
public void setVar(Object var){
this.var=var;
}
}
    此时,Test程序依然可以运行,但是如果将Test改动如下:
public class Test{
public static void maint(String[] args){
Point1 p=new Point1();
p.setVar(“江山美人");
System.out.println(p.getVar() * 2);
}
}
    程序编写正常,不会报错,但到了运行才提示异常。而如果上面是应用泛型,在写下System.out.println(p.getVar() * 2);直接就会在写程序时提示错误!

点评

此版禁止自问自答  发表于 2014-8-9 20:20

1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马