位置: IT常识 - 正文

Java学习-第一部分-第二阶段-第六节:泛型(java初学者教程)

编辑:rootadmin
泛型 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 泛型的理解和好处 看一个需求 请编写程序,在ArrayList中,添加3个Dog对象 Dog对象含有name和age,并输出name和age(要求使用getXxx()) 先使用传 ... 泛型

推荐整理分享Java学习-第一部分-第二阶段-第六节:泛型(java初学者教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java初学视频教程,java第一阶段要学的知识,java编程第一步,java初学视频教程,java初学视频教程,java初学视频教程,java第一步学什么,java第一阶段要学的知识,内容如对您有帮助,希望把文章链接给更多的朋友!

笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)

泛型的理解和好处

看一个需求

请编写程序,在ArrayList中,添加3个Dog对象

Dog对象含有name和age,并输出name和age(要求使用getXxx())

先使用传统的方法来解决->引出泛型

public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add(new Dog("旺财", 10)); arrayList.add(new Dog("发财", 1)); arrayList.add(new Dog("小黄",5)); //假如我们的程员,不小心,添加了一只猫 arrayList.add(new Cat("招财猫",8)); //遍历 for (Object o : arrayList) { //向下转型0bject ->Dog Dog dog = (Dog)o; System.out.println(dog.getName() + "-" + dog.getAge()); }}

使用传统方法的问题分析

不能对加入到集合ArrayList中的数据类型进行约束(不安全)遍历的时候,需要进行类型转换,如果集合中的数据量较大,对效率有影响

泛型快速体验险-用泛型来解决前面的问题

Java学习-第一部分-第二阶段-第六节:泛型(java初学者教程)

看演示

ArrayList<Dog> arrayList = new ArrayList<Dog>();

import java.util.ArrayList;public class Test { public static void main(String[] args) { //使用传统的方法来解决===>使用泛型 // 解读 //1.当我们ArrayList<Dog>表示存放到 ArrayList集合中的元素是Dog类型〔细节后面说...) // 2。如果编译器发现添加的类型,不满足要求,就会报错 //3。在遍历的时候,可以直接取出 g类型而不是 Object ArrayList<Dog> arrayList = new ArrayList<Dog>(); arrayList.add(new Dog("旺财", 10)); arrayList.add(new Dog("发财", 1)); arrayList.add(new Dog("小黄", 5)); //假如我们的程序员,不小心,添加了一只猫 // arrayList.add(new Cat("招财猫",8));//加入Dog类型外的对象会报错,编译不通过 System.out.println("===使用泛科==="); for (Dog dog : arrayList) { System.out.println(dog.getName() + "-" + dog.getAge()); } }}class Dog { public String name; public int age; public Dog(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Dog [name=" + name + ". age=" + age + "]"; }}

泛型的好处

编译时,检查添加元素的类型,提高了安全性

减少了类型转换的次数,提高效率[说明]√不使用泛型Dog-加入->Object -取出->Dog //放入到ArrayList 会先转成Object,在取出时,还需要转换成Dog

√使用泛型

Dog -> Dog -> Dog //放入时,和取出时,不需要类型转换,提高效率

不再提示编译警告

泛型介绍

int a = 10;老韩理解:泛(广泛)型(类型)=> Integer, String,Dog

泛型又称参数化类型,是Jdk5.0出现的新特性,解决数据类型的安全性问题

在类

本文链接地址:https://www.jiuchutong.com/zhishi/310664.html 转载请保留说明!

上一篇:python函数中返回值的作用(python 函数的返回值)

下一篇:java非公平锁如何理解(java公平锁有哪些)

  • 魅族18s有没有nfc(魅族18s有没有无线充电)

    魅族18s有没有nfc(魅族18s有没有无线充电)

  • 苹果13怎么设置字体大小(苹果13怎么设置电池电量数字)

    苹果13怎么设置字体大小(苹果13怎么设置电池电量数字)

  • 苹果手机的更多符号在哪里(苹果手机的更多无线连接在哪里)

    苹果手机的更多符号在哪里(苹果手机的更多无线连接在哪里)

  • usb转网线接口怎么用(usb转网线接口怎么接)

    usb转网线接口怎么用(usb转网线接口怎么接)

  • 微信漏收的消息怎么查(微信漏收消息怎么办)

    微信漏收的消息怎么查(微信漏收消息怎么办)

  • qq空间头像怎么换不了(qq空间头像怎么看)

    qq空间头像怎么换不了(qq空间头像怎么看)

  • 手机qq 浏览器怎么建文档(手机qq浏览器怎么把文字居中)

    手机qq 浏览器怎么建文档(手机qq浏览器怎么把文字居中)

  • 微信为什么不能删除别人的评论(微信为什么不能注册小号)

    微信为什么不能删除别人的评论(微信为什么不能注册小号)

  • 为什么手机运行内存越来越小(为什么手机运行速度越来越慢)

    为什么手机运行内存越来越小(为什么手机运行速度越来越慢)

  • 华为账号不用可以吗(华为账号不用可以退出吗)

    华为账号不用可以吗(华为账号不用可以退出吗)

  • fast是什么路由器(fast开头的路由器怎么设置)

    fast是什么路由器(fast开头的路由器怎么设置)

  • 美版充电器为什么有孔(美版充电器国内能用吗)

    美版充电器为什么有孔(美版充电器国内能用吗)

  • 钉钉可以在电脑上面下载吗(钉钉可以在电脑上用吗)

    钉钉可以在电脑上面下载吗(钉钉可以在电脑上用吗)

  • mac的另一个名字叫什么(mac的另一个名字是什么)

    mac的另一个名字叫什么(mac的另一个名字是什么)

  • 蓝牙耳机连接手机后还是外放(蓝牙耳机连接手机连不上怎么办)

    蓝牙耳机连接手机后还是外放(蓝牙耳机连接手机连不上怎么办)

  • 显卡要坏的前兆(显卡坏的前兆有哪些)

    显卡要坏的前兆(显卡坏的前兆有哪些)

  • 华为nova5pro有红外线吗(华为nova5pro有红外线遥控吗?)

    华为nova5pro有红外线吗(华为nova5pro有红外线遥控吗?)

  • 淘宝会员名怎么修改(淘宝会员名怎么取好听)

    淘宝会员名怎么修改(淘宝会员名怎么取好听)

  • pr怎么快速批量加字幕(pr怎么批量处理图片)

    pr怎么快速批量加字幕(pr怎么批量处理图片)

  • 快手ktv模式怎么开(快手ktv怎么开启)

    快手ktv模式怎么开(快手ktv怎么开启)

  • qq有附近的人功能吗(qq附近的人功能被限制怎么解封)

    qq有附近的人功能吗(qq附近的人功能被限制怎么解封)

  • Windows10激活密钥/激活码/神key分享 附激活工具(windows10激活密钥免费2023)

    Windows10激活密钥/激活码/神key分享 附激活工具(windows10激活密钥免费2023)

  • mac取消开机启动的步骤(图)(mac如何关闭开机启动)

    mac取消开机启动的步骤(图)(mac如何关闭开机启动)

  • 【Web前端】CSS-盒子模型(web前端 css)

    【Web前端】CSS-盒子模型(web前端 css)

  • mysql两种事务类型(mysql事务类型)

    mysql两种事务类型(mysql事务类型)

  • 成立蔬菜公司免税吗
  • 资产负债表债务法是什么意思
  • 代开普通发票需提供哪些材料
  • 住房贷款专项扣除
  • 冲减暂估成本的会计分录
  • 小规模纳税人可以开1%的专票吗
  • 个人独资企业注册流程
  • 会计和税法折旧年限不同如何计算终结期现金净流量
  • 普通发票作废怎么验旧
  • 退休人员基本养老金调整幅度需要综合考虑什么因素
  • 涉外收入申报单填写模板
  • 研发支出转入管理费用摘要
  • 手撕发票怎么区分地区开具
  • 房地产增值税发票有什么用
  • 软件开发服务费税率
  • 增值税农产品抵扣政策
  • 劳务派遣案例分析题
  • 只转让地上的建筑怎么办
  • 工程预算调整的主要内容
  • 税收优惠政策2020年
  • 研发设备一次性计入研发费用账务处理
  • 成品油电子普通发票开错了
  • 稻谷增值税税率多少
  • 自己去税务局开票怎么开
  • 公司向个人转账分录
  • 员工离职补偿金可以税前扣除吗
  • 4s店上牌费用怎么给
  • 修缮房屋的防水工程的账务处理?
  • 福利费用会计分录
  • quickres.exe - quickres是什么进程 作用是什么
  • linux abi
  • 扶贫入股分红政策
  • navione.exe是什么意思
  • 劳务的完成程度可以采用如下方法确定
  • 应付票据可以直接填列吗
  • 个人所得税的征收模式为()A分类征收B综合征收C
  • 包工队人员受伤该由谁负责
  • Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
  • 固定资产未提完折旧可以报废吗
  • 一般纳税人购买原材料会计分录
  • cifar10图像分类实验报告
  • php判断用户名是否正确
  • js继承的几种方式 各有什么优缺点
  • 应付票据贴现是负债吗
  • 数字黑洞有哪些
  • java基本框架
  • 帝国cms栏目自定义字段
  • 四联收据每一联用途
  • 个人所得税孩子教育怎么申报
  • 认缴制下实收资本如何证明
  • 运费发票没到可以先计提吗
  • 收到发票未抵扣,收票方也可以开红字信息表吗?
  • 印花税怎么进行税种认定
  • 开房租租赁发票怎么记账?
  • 行政单位固定资产标准
  • centos安装编译环境
  • fedora改密码
  • win8中文版是什么版本
  • imac硬盘测试
  • win7系统补丁包
  • win1020h2正式版
  • macos 音量快捷键
  • 硬盘安装windows xp
  • centos7设置bond
  • 32位系统的电脑可以连接打印机吗
  • linux历史操作
  • 关于linux中Squid代理服务器的10个实用面试问答
  • 安装centos no such device
  • sql怎么设置自增列
  • mysql命令备份数据库
  • 输入命令的三种方法
  • bat弹窗
  • webpack使用场景
  • jQuery插件下载
  • python放歌
  • django批量上传图片
  • Python中字符串的索引
  • 江苏省国税总局
  • 销售货物免征增值税时收取的增值税税款需计入当期损益
  • 山东农村土地补贴每亩多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设