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

  • 微信系统维护要多久20218月份(微信系统维护要多久)(微信系统维护要多久6月)

    微信系统维护要多久20218月份(微信系统维护要多久)(微信系统维护要多久6月)

  • vivo手机指纹解锁在哪(vivo手机指纹解锁不显示)

    vivo手机指纹解锁在哪(vivo手机指纹解锁不显示)

  • 微信别人撤回的图片怎么查看(微信别人撤回的文件在哪里)

    微信别人撤回的图片怎么查看(微信别人撤回的文件在哪里)

  • 微信有未读消息小红点,找不到未读(微信有未读消息不显示)

    微信有未读消息小红点,找不到未读(微信有未读消息不显示)

  • 华为畅连语音什么意思(华为畅连语音能被监听么)

    华为畅连语音什么意思(华为畅连语音能被监听么)

  • 抖音下雨特效怎么制作(抖音特效下雨加图片视频)

    抖音下雨特效怎么制作(抖音特效下雨加图片视频)

  • 苹果手机查找不可用 无法连接服务器(苹果手机查找不能用了怎么办)

    苹果手机查找不可用 无法连接服务器(苹果手机查找不能用了怎么办)

  • 抖音和抖音短视频有什么区别(抖音和抖音短视频哪个好)

    抖音和抖音短视频有什么区别(抖音和抖音短视频哪个好)

  • 华为手机最上面的显示栏没有了(华为手机最上面时间位置怎么调)

    华为手机最上面的显示栏没有了(华为手机最上面时间位置怎么调)

  • 腾讯软件包括爱奇艺吗(腾讯软件包括哪些东西)

    腾讯软件包括爱奇艺吗(腾讯软件包括哪些东西)

  • 同一个微信号怎么迁移聊天记录(同一个微信号怎么登录两个微信)

    同一个微信号怎么迁移聊天记录(同一个微信号怎么登录两个微信)

  • qq群投票怎么重新投(qq群投票如何再次发送到群里)

    qq群投票怎么重新投(qq群投票如何再次发送到群里)

  • 三合一打印机是什么意思(3合一打印机哪款好)

    三合一打印机是什么意思(3合一打印机哪款好)

  • 怎么把手机上的软件传到百度云盘   (怎么把手机上的视频传到电脑上)

    怎么把手机上的软件传到百度云盘 (怎么把手机上的视频传到电脑上)

  • 微信怎么解除自动扣费(微信怎么解除自动扣款业务)

    微信怎么解除自动扣费(微信怎么解除自动扣款业务)

  • 乐视2pro怎么分屏(怎么区分乐视2还是乐视2pro)

    乐视2pro怎么分屏(怎么区分乐视2还是乐视2pro)

  • 手机双4g是什么意思(双4g功能有什么用)

    手机双4g是什么意思(双4g功能有什么用)

  • qq被限制解封怎么办(qq账号被限制解封怎么办想要快速解冻)

    qq被限制解封怎么办(qq账号被限制解封怎么办想要快速解冻)

  • 手机拍照实况模式在哪(手机拍照实况模式怎么用)

    手机拍照实况模式在哪(手机拍照实况模式怎么用)

  • 抖音的总音浪是年计算的还是月计算的(抖音 总音浪)

    抖音的总音浪是年计算的还是月计算的(抖音 总音浪)

  • 微信默认字体是什么(微信默认字体大小是标准吗)

    微信默认字体是什么(微信默认字体大小是标准吗)

  • 【JavaScript】手撕前端面试题:对象参数浅拷贝 | 简易深拷贝 | 完整深拷贝(javascript手机版)

    【JavaScript】手撕前端面试题:对象参数浅拷贝 | 简易深拷贝 | 完整深拷贝(javascript手机版)

  • Win11退回Win10没反应怎么办?Win11退回Win10没反应的解决方法(win11 退回)

    Win11退回Win10没反应怎么办?Win11退回Win10没反应的解决方法(win11 退回)

  • python中csv如何设置表头?(python操作csv)

    python中csv如何设置表头?(python操作csv)

  • Python中的子进程是什么(python 子进程通信)

    Python中的子进程是什么(python 子进程通信)

  • 增值税专用发票使用规定 最新
  • 足浴行业是否需要缴纳文化事业建设税
  • 白酒和烟草 纳税总额
  • 奖金算不算工资薪金所得
  • 防伪税控技术维护费怎么申报
  • 配件和修理费能一起用吗
  • 装修工程人工费占总价比例
  • 公允价值模式下,投资性房地产不计提折旧或摊销
  • 长期待摊销费用属于什么类科目
  • 在建工程是资产
  • 稿费计入成本怎么做账
  • 付给其他公司的利息怎么做账
  • 境外企业向境内国外汇款
  • 前程无忧靠什么赚钱
  • 转让无形资产收入属于销售收入吗
  • 什么费用需要进行摊销
  • 计提公司所得税分录
  • 如何从百旺开票系统中导出开票明细
  • 纳税人必须熟知什么
  • 赠送视同销售是按照售价还是成本缴纳增值税
  • 管网设计费用取费标准
  • 其他业务收入包括哪些内容
  • 录入凭证时记账的依据是
  • 预提费用多少
  • 向其他股东购买股权
  • 社保支付账号是什么
  • 属于项目的一个实例
  • uefi+bios
  • 删除打印机如何添加
  • 公司收到保险公司退保费怎么账务处理
  • 退回以前年度多交增值税
  • 小规模纳税人销售使用过的固定资产
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 工会经费计提基数包括绩效工资吗
  • 大前端最新
  • php中自定义函数的语法格式
  • 代理业务怎么记账
  • 生产型企业出口退税会计分录
  • 应付职工薪酬账户期末余额可能是
  • 哪些合同必须签订书面合同
  • 网上报税优点与缺点
  • 怎么看企业用哪种软件
  • 增值税报表附表三
  • 不入库存商品直接走成本会怎样
  • 什么是国家限制企业或行业
  • 借贷记账法的基本规则和账户结构
  • 现金日记账一般采用数量金额式
  • 固定资产出售如何开票
  • 多交增值税退税抵欠怎么处理
  • 买赠销售账务处理
  • 高新企业税收减免多少
  • 车辆etc设备
  • 支付技术转让费所得税处理
  • 税控盘服务费会计科目
  • 核定征收方式的小型微利企业可以享受
  • 收入的利息如何计算
  • 未开票收入怎么报税
  • 汇兑损益是什么凭证类型
  • mysql详细介绍
  • sql server触发器主要针对下列语句创建
  • 新百伦588
  • 创建svn库
  • 分布式交互
  • win7怎么设置禁止安装软件
  • 360win7
  • win10系统找不到mrt
  • win8怎么安装不了win10
  • xp系统停止服务了还能用吗
  • mxoaldr.exe - mxoaldr是什么进程 有什么用
  • win7系统打印机服务开启
  • springmvc框架下tomcat服务器数据库密码如何加密
  • 原生js实现promise
  • javascript简明教程
  • 河南省低保信息查询
  • 陕西税务局官网登录
  • 江苏税务社保缴纳查询缴费记录
  • 缴款单号怎么交学费
  • 南京政务服务中心
  • 河北省职称证去哪里查
  • 广东省广州市国资委
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设