在编译时查找错误可以节省调试Java程序的时间万博官网手机版登陆

当前位置:万博官网手机版登陆 > 万博官网手机版登陆 > 在编译时查找错误可以节省调试Java程序的时间万博官网手机版登陆
作者: 万博官网手机版登陆|来源: http://www.shirokilaw.com|栏目:万博官网手机版登陆

文章关键词:万博官网手机版登陆,泛型类型

  泛型类型在Java集合中广泛使用。为什么我们需要Java中的泛型类型?理解这个问题可以帮助我们更好地理解许多相关概念。在本文中,我将使用一个非常简短的示例来说明Generic为什么有用。

  实现泛型的目的是在编译时而不是运行时中发现错误。在编译时查找错误可以节省调试Java程序的时间,因为编译时错误更容易查找和修复。万博官网手机版登陆泛型类型仅在编译时存在。这是学习Java泛型时要记住的最重要的事情。

  在以下程序中,“ Room”类定义一个成员对象。我们可以将任何对象传递给它,例如String,Integer等。

  当我们添加一个整数并将其强制转换时,程序运行完全正常。但是,如果用户不小心将字符串“ 60”添加到其中,编译器将不知道这是一个问题。程序运行时,将获得ClassCastException。

  您可能想知道为什么不只将字段类型声明为Integer而不是Object。如果是这样,那么房间就没有太大用处了,因为它只能存储一种东西。

  现在,如果有人添加room.add(“ 60”),则将显示如下编译时错误:

  我们可以轻松地看到它是如何工作的。另外,由于编译知道get()将返回Integer,因此无需从room.get()强制转换结果。

  Java泛型类型只是一个编译时概念。在运行时,将擦除所有类型信息,这称为类型擦除。这是一个有趣的示例,展示了如何避免Type Erasure的常见错误。

  最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!