• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
仅供参考
博客园    首页    新随笔    联系   管理    订阅  订阅
泛型与迭代器

在调用Iterator接口当中的next方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回。当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,以此类推,直到hasNext方法返回false时,表示迭代器达到了集合的末尾,终止对元素的遍历。如果强硬的再取集合的元素,此时程序就会抛出没有元素java.util.NoSuchElementException

备注:Iterator接口也是有泛型的,迭代器的泛型是跟着集合走的,集合当中定义的什么类型,迭代器就是什么类型。

增强for循环

在JDK1.5之后出现了一个新的循环结构,for each循环,一般也称为增强for循环,专门用来遍历数组和集合的。它的内部原理其实是有个迭代器Iterator,在迭代过程中,不能对集合当中的元素进行增删操作。

使用泛型的好处
  • ​ 避免了类型转换的麻烦,存储的是什么样的数据类型,取出的就是什么样的数据类型
  • ​ 把运行期异常(代码运行之后会抛出的异常)提升到编译期阶段(写代码的时候就会报错)

备注:泛型它其实也是数据类型的一部分,一般我们将类名和泛型合并一起看做数据类型。

泛型的定义与使用

​ 泛型,用来灵活的将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。

因为我们的集合框架体系中,大量的使用了泛型。

posted on 2020-12-01 20:25  七0  阅读(170)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3