Java使用泛型编程 检查类型安全 提高代码的重用率

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:32 我要评论(0)

1.概念

泛型就是参数化类型。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2.案例

1)先看下面案例:

//不适用泛型编程

Apple app0=new Apple();

Apple app1=new Apple();

List li = new ArrayList();

li.add(app0);//添加非需要类型时发现不了错误。

li.add(app1);

Apple appUsed=(Apple)li.get(0);

//使用泛型编程如下

Apple app0=new Apple();

Apple app1=new Apple();

List<Apple> li = new ArrayList<Apple>();

li.add(app0);//如果添加的对象类型错误,编译器即可发现。指定容器要持有的对象类型,用编译器来保证类型的正确性。

li.add(app1);

Apple appUsed=li.get(0);

使用泛型的优点:大型应用时能显著降低程序的复杂度;**泛型**为较大的优化带来可能: 可以在编译期发现该类错误,而且在取出元素时不需要再进行类型判断,从而提高了程序的运行时效率。

2)泛型类

有两个类如下,要构造两个类的对象,并打印出各自的成员x。

public class StringFoo {

private String x;

public StringFoo(String x) {

this.x = x;

}

public String getX() {

return x;

}

public void setX(String x) {

this.x = x;

}

}

public class DoubleFoo {

private Double x;

public DoubleFoo(Double x) {

this.x = x;

}

public Double getX() {

return x;

}

public void setX(Double x) {

this.x = x;

}

}

用泛型来实现

public class GenericsFoo<T> {

private T x;

public GenericsFoo(T x) {

this.x = x;

}

public T getX() {

return x;

}

public void setX(T x) {

this.x = x;

}

}

代码实现:

public class GenericsFooDemo {

public static void main(String args[]){

GenericsFoo<String> strFoo=new GenericsFoo<String>("Hello Generics!");

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...