位置: 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公平锁有哪些)

  • 小米蓝牙耳机如何配对air2(小米蓝牙耳机如何重新配对)

    小米蓝牙耳机如何配对air2(小米蓝牙耳机如何重新配对)

  • 小米手机私密文件在哪里看(小米手机私密文件夹在哪里找)

    小米手机私密文件在哪里看(小米手机私密文件夹在哪里找)

  • 抖音和火山合并了吗(抖音和火山合并后火山实名抖音无法实名)

    抖音和火山合并了吗(抖音和火山合并后火山实名抖音无法实名)

  • 淘宝追评为什么不显示(淘宝追评为什么不能发图片)

    淘宝追评为什么不显示(淘宝追评为什么不能发图片)

  • 腾讯会议可以录视频吗(腾讯会议可以录音吗)

    腾讯会议可以录视频吗(腾讯会议可以录音吗)

  • 支付宝如何注销账号(支付宝如何注销营业执照)

    支付宝如何注销账号(支付宝如何注销营业执照)

  • 手机账号密码在哪里看(vivo账户密码忘了怎么解开手机)

    手机账号密码在哪里看(vivo账户密码忘了怎么解开手机)

  • opporeno2如何关机(oppo2z怎么关机)

    opporeno2如何关机(oppo2z怎么关机)

  • 快手删除了可以恢复吗(删除快手还能找回吗)

    快手删除了可以恢复吗(删除快手还能找回吗)

  • 怎么设置word字体下沉(怎么设置word字体最大)

    怎么设置word字体下沉(怎么设置word字体最大)

  • qq点赞为什么会消失(qq点赞为什么会自动消失)

    qq点赞为什么会消失(qq点赞为什么会自动消失)

  • Apple Watch S5怎么设置表盘风格(苹果手表s5怎么用)

    Apple Watch S5怎么设置表盘风格(苹果手表s5怎么用)

  • Mate30保时捷版支持5g吗

    Mate30保时捷版支持5g吗

  • 华为广角镜头在哪找(华为广角镜头在哪找mate40)

    华为广角镜头在哪找(华为广角镜头在哪找mate40)

  • 华为哪款手机支持otg(华为哪款手机支持红外线功能)

    华为哪款手机支持otg(华为哪款手机支持红外线功能)

  • 华为mate30有50倍变焦吗(华为mate3050倍变焦在哪设置)

    华为mate30有50倍变焦吗(华为mate3050倍变焦在哪设置)

  • 苹果的视频文件怎么删除(苹果的视频文件怎么传给安卓)

    苹果的视频文件怎么删除(苹果的视频文件怎么传给安卓)

  • 戴尔g7按哪个键开风扇(戴尔g7怎么打开键盘灯光)

    戴尔g7按哪个键开风扇(戴尔g7怎么打开键盘灯光)

  • fmn是什么(fmn是什么牌子)

    fmn是什么(fmn是什么牌子)

  • 抖音可以看见足迹吗(抖音能看到查看记录吗)

    抖音可以看见足迹吗(抖音能看到查看记录吗)

  • 百加手机静音取消不了怎么办(手机设置了静音怎么取消)

    百加手机静音取消不了怎么办(手机设置了静音怎么取消)

  • 华为p30屏幕材质(华为p30屏幕材质是e3吗)

    华为p30屏幕材质(华为p30屏幕材质是e3吗)

  • 虚拟存储器是(虚拟存储器是为了解决主存容量不够的矛盾)

    虚拟存储器是(虚拟存储器是为了解决主存容量不够的矛盾)

  • Opencv(C++)系列学习---opencv_contrib安装(opencv1.0)

    Opencv(C++)系列学习---opencv_contrib安装(opencv1.0)

  • phpcms v9如何安装(phpcms教程)

    phpcms v9如何安装(phpcms教程)

  • 帝国cms怎么多条件搜索(帝国cms界面)

    帝国cms怎么多条件搜索(帝国cms界面)

  • 非正常损失的货物,增值税做什么科目
  • 房地产土地使用税纳税义务发生时间
  • 费用先付款后收到发票做账
  • 企业所得税税前扣除凭证管理办法
  • 采购货款属于什么会计科目
  • 个体工商户能否转让
  • 企业临时外出经营如何使用发票
  • 缴纳土地出让金后多久能拿到土地证
  • 发票冲红增值税怎么申报
  • 进口小汽车消费税组成计税价格
  • 在建工程明细科目
  • 收到结算单应该怎么处理
  • 工人受伤医药费计入什么科目
  • 影响所得税金额的因素有哪些
  • 工程项目企业座谈会新闻稿件
  • 个体户没有三证合一,年检
  • 投资协议需要注意细节
  • 企业不重视引起的四大涉税风险
  • 非货币性资产交换准则
  • 往来款可以作为投资款吗
  • 零申报资产总额填注册资本怎么办呢
  • 未开票收入如何确认
  • 二千万注册资金是多少
  • 印花税减半再减半政策文件是什么
  • 税率调整后合同金额变更案例
  • 华为鸿蒙系统网速慢怎么解决
  • 电子承兑汇票怎么用
  • 住房补贴缴纳比例是多少
  • 材料成本差异如何分摊
  • 外地的社保在本地个税扣除
  • 减征增值税的项目
  • 权限控制的原则是什么
  • 残疾人保障金是什么科目
  • php操作json文件
  • elementui input无法输入
  • 一般业务计算的基本步骤
  • 视同销售账务处理如何做?
  • 民间非盈利组织会计要素组成
  • 已付款收货未收到发票怎么做账
  • 建筑企业提供建筑服务适用一般计税方法的,以取得
  • mysql写日志机制
  • 工程材料发票备注要求
  • 企业年度报告填报时间
  • 支付定金的账务怎么处理
  • 房屋租赁印花税计税金额含税吗
  • 资金账簿的计税依据
  • 公司注销应付账款要为零吗
  • 工程检测费的会计分录
  • 运输合理损耗会计科目
  • 待发货订单是什么意思
  • 销项税和进项税的借贷方向
  • 私营公司商业汇票怎么开
  • 会计交接事项有哪些
  • sql server 触发器
  • Windows10 64位安装MySQL5.6.35的图文教程
  • 怎么u盘装系统win10
  • win8.1 升级
  • xp停在windows界面
  • win7系统cmd命令大全
  • win7玩穿越火线电脑应该怎么设置
  • win7记事本功能
  • win7免费升win8
  • windows10累积更新很慢
  • LINUX下的磁盘编辑工具
  • find命令支持哪些查找方式
  • linux sendmail发送邮件
  • win8.1开不了机怎么办
  • WIN10系统优化精简工具
  • node.js document
  • Cocos2dx3.2 CrazyTetris 单线裁剪 对于判断消除的思考(一)
  • css做一个好看的网页
  • opengl语言
  • vue移动端图片预览
  • Jquery uploadify上传插件使用详解
  • python中for循环写法
  • 税务人员廉洁自律承诺书
  • 地方税务局工作内容
  • 青岛税务局局长是什么级别?
  • 一般纳税人企业是什么意思
  • 手表关税税率一般是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设