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

  • 浅谈服装店怎么利用季节推广赚钱(服装店如何做销售)

  • 微信付款码会不会变(微信付款码会不会更新)

  • 电脑连着wifi显示地球(电脑显示wifi)

  • oppoa 5手机怎么投屏(oppoa5手机怎么设置返回键)

  • 华为mate30手电筒快捷键(华为mate30手电筒在哪里)

  • 摄像头变红色了怎么回事(摄像头突然变红色)

  • 淘宝被删评会对账号有影响吗(淘宝评价被删除影响继续刷吗)

  • dvdrom属于什么储存器(dvd rom属于什么)

  • qq标识小海螺是什么(qq海螺是什么意思)

  • iphone11三款区别(iphone11的三款区别)

  • surface1724是几代(surface型号1724是几代)

  • 两个iphone如何传输数据(两个iphone手机怎么互传所有东西)

  • 亲情号对方能看到什么(亲情号对方能看到额度吗)

  • 华为mate30返回键在哪设置(华为mate30返回键怎么设置到右边)

  • 网络语言的好处(网络语言的好处5条)

  • 手机云闪付功能在哪里(云闪付的手机闪付功能)

  • 0.6332的数据类型(0.6333数据类型)

  • g4900相当于酷睿i几(g4900是几代cpu)

  • 苹果怎么回车下一行(苹果怎么样回车键)

  • 黑鲨skra0是什么机型(黑鲨skr_ao)

  • 苹果手机授权管理在哪设置信任(苹果手机授权管理app在哪儿查看)

  • 用word怎么做米字格(word文档怎么制作米字格)

  • ipad的airplay在哪里(iPad的AirPlay在哪里)

  • neovis.js+vue实现知识图谱前端展示,踩坑后的经验分享!!!(vue onshow)

  • 前端播放大视频卡顿的解决(m3u8视频流)(前端播放视频的插件)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络