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

  • 怎么取消手机和ipad软件同步(怎么取消手机和ipad电话来电)

    怎么取消手机和ipad软件同步(怎么取消手机和ipad电话来电)

  • 红米k40Pro挖空直径是多少(红米k40挖空直径)

    红米k40Pro挖空直径是多少(红米k40挖空直径)

  • 滴滴接单后不能放音乐(滴滴接单后不能聊微信怎么办)

    滴滴接单后不能放音乐(滴滴接单后不能聊微信怎么办)

  • mb2是哪个键(mb1是哪个键)

    mb2是哪个键(mb1是哪个键)

  • 怎样快速删除抖音自己以前发布过的视频(怎样快速删除抖音收藏的视频)

    怎样快速删除抖音自己以前发布过的视频(怎样快速删除抖音收藏的视频)

  • 华为手机需要更新系统吗(华为手机需要更换电池吗)

    华为手机需要更新系统吗(华为手机需要更换电池吗)

  • 云班课学生要开摄像头吗(云班课哪些学校用)

    云班课学生要开摄像头吗(云班课哪些学校用)

  • 手机如何打开ppsx文件(手机如何打开PPT里的视频)

    手机如何打开ppsx文件(手机如何打开PPT里的视频)

  • ipad怎么连手机热点(ipad怎么连手机个人热点)

    ipad怎么连手机热点(ipad怎么连手机个人热点)

  • 苹果有隐私空间吗(苹果有隐私空间之类的)

    苹果有隐私空间吗(苹果有隐私空间之类的)

  • 微信语音不能免提怎么回事(微信语音不能免提播放)

    微信语音不能免提怎么回事(微信语音不能免提播放)

  • 苹果11怎么一次性截长屏(苹果11怎么一次性删除所有照片)

    苹果11怎么一次性截长屏(苹果11怎么一次性删除所有照片)

  • 华为手机抖屏什么原因(华为手机抖屏解决最有效方法)

    华为手机抖屏什么原因(华为手机抖屏解决最有效方法)

  • 公众号能看到投诉者吗(微信公众号投票可以看到投票人吗)

    公众号能看到投诉者吗(微信公众号投票可以看到投票人吗)

  • 快手开通商家号有什么好处(快手开通商家号后限流)

    快手开通商家号有什么好处(快手开通商家号后限流)

  • 抖音和快手区别在哪(抖音和快手区别思维导图)

    抖音和快手区别在哪(抖音和快手区别思维导图)

  • vue可以直接拍照片吗(vue拍人像用哪个滤镜好)

    vue可以直接拍照片吗(vue拍人像用哪个滤镜好)

  • 苹果11消息闪光灯怎么开(苹果11消息闪光灯怎么关闭)

    苹果11消息闪光灯怎么开(苹果11消息闪光灯怎么关闭)

  • 淘宝黄钻等级怎么算(淘宝店铺黄钻等级怎么算)

    淘宝黄钻等级怎么算(淘宝店铺黄钻等级怎么算)

  • 小米9支持hdmi输出吗(小米支持hdmi输出吗)

    小米9支持hdmi输出吗(小米支持hdmi输出吗)

  • uefi和legacy的区别(uefi和legacy的区别 win10)

    uefi和legacy的区别(uefi和legacy的区别 win10)

  • 苹果手机qq下载的文件保存在哪里(苹果手机qq下载的视频在手机什么位置)

    苹果手机qq下载的文件保存在哪里(苹果手机qq下载的视频在手机什么位置)

  • 快手长图封面两张照片怎么做(快手长图封面怎么弄两张照片)

    快手长图封面两张照片怎么做(快手长图封面怎么弄两张照片)

  • 怎么拦截国外电话号码(怎么拦截国外电话号码联通卡)

    怎么拦截国外电话号码(怎么拦截国外电话号码联通卡)

  • vivoz5什么时候发布(vivoz5什么时候停产)

    vivoz5什么时候发布(vivoz5什么时候停产)

  • applewatch4和3区别(apple watch3和4)

    applewatch4和3区别(apple watch3和4)

  • 【Python】ttkbootstrap的介绍与使用(/t python)

    【Python】ttkbootstrap的介绍与使用(/t python)

  • vue3+ts+Vuex中使用websocket协议方式(vuex 3)

    vue3+ts+Vuex中使用websocket协议方式(vuex 3)

  • 免税肉类主要品种目录
  • 增值税发票作废了税钱退还吗
  • 其他负债是流动负债还是非流动负债
  • 补充登记法怎么写
  • 公司所得税费用怎么算报多少钱
  • 企业收到劳务费发票账务处理
  • 企业注销盈利一定要交个税吗
  • 员工报销款可以公转私吗
  • 通行费进项抵扣政策
  • 往来账审计存在问题及建议
  • 供用电合同主要有
  • 年底暂估成本有风险吗
  • 现金支付借款如何认定
  • 企业票据贴现属于什么业务
  • 营改增后房地产企业如何开票
  • 营改增后卖房交的增值税
  • 消费税征收范围包括
  • 红字发票通知单已经上传可以作废吗
  • 存货缺货成本如何算
  • 进项税和销项税的借贷方向
  • 非金融机构有
  • 广告制作费怎么入账
  • 代开发票预缴的增值税能否申请退税
  • 280元航天使用费多少钱
  • 零售金银首饰消费税税率是多少
  • 养殖专业合作社业务范围包括哪些
  • 银行定期存款转存
  • win11有哪些提升
  • 计提城市维护费分录
  • 人民币账户购汇支付
  • 出口退税是怎么个流程
  • php脚本工作流程
  • 应付职工薪酬的含义
  • zendstudio写好程序怎样运行
  • php获取开始与结束的函数
  • 新版python
  • php使用什么开发工具
  • sosreport命令收集详细信息
  • mysql的间隙锁与排他锁
  • mysql中regexp_substr函数的使用
  • 固定资产处置科目有哪些
  • 典当公司收到房款怎么办
  • 公益性怎么解释
  • 公司开户限额一般多少
  • 金融资产发生减值的客观证据包括哪些
  • python中的装饰器的使用实战
  • 试生产期间发生事故后重新
  • 投资性房地产由成本模式转为公允价值模式
  • 委托代销商品支付的手续费计入什么科目
  • 下列项目的进项税额可以从销售税额中抵扣的是
  • 其他应付款不用付了会计分录
  • 投资管理公司怎么收费
  • 金税四期是什么意思
  • 一般纳税人适用什么会计准则
  • 代扣代缴公积金现金流量
  • 中小企业的判定标准
  • 包材库存
  • 无发票材料可以入材料账吗
  • 收到稳岗补贴要交税吗
  • 咨询服务费计入哪里
  • windows自带截图软件
  • win10升级电脑
  • 并发控制三个问题
  • winctlad.exe - winctlad是什么进程
  • wingate.exe - wingate是什么进程
  • linux 互传文件
  • windows10无法识别
  • 使用jquery操作dom
  • node.js实战
  • 常用dos命令详解
  • our与my的区别
  • Python selenium爬取table
  • js设计原则
  • js的prepend
  • jquery.cookie.js实现用户登录保存密码功能的方法
  • 个体户一直没有年报
  • 两个手机怎么设置
  • 煤炭资源税税率表
  • 建筑业发票范围
  • 竣工开始缴房产税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设