【泛型】

 起因:JDK1.4之前类型不明确
 <1>装入集合的类型都被当做Object对待,从而失去自己的实际类型。
 <2>从集合中取出时往往需要转型,效率低,且很容易出错。
 
 解决办法:
 <1>在定义集合的时候同时定义集合中对象的类型
 ----实例程序:
 List<String>  c = new ArrayList<String>();
 //原本传入的强制转换为Object类型,这里不需要了,直接限定为String类型
 c.add("aa");
 c.add("bb");
 c.add("cc");
 for(int i=0;i<c.size();i++){
      String c = c.get(i);
      System.out.println(c);
 }
 好处:增强程序的可读性和稳定性
【普通泛型】
 package com.company.section1;

public class Client {
     //工资低于2500元的上斑族并且站立的乘客车票打8折
     public static <T extends Staff & Passenger> void discount(T t){
          if(t.getSalary()<2500 && t.isStanding()){
               System.out.println("恭喜你!您的车票打八折!");
          }
     }

   //这里使用泛型编程,因为传入的参数有两种类型:int,boolean,这样可以实现不同数据类型的操作。

     public static void main(String[] args) {
          discount(new Me());
     }
}

//职员
interface Staff{
     //工资
     public int getSalary();
}

//乘客
interface Passenger{
     //是否是站立状态
     public boolean isStanding();
}

class Me implements Staff,Passenger{
     public boolean isStanding(){
          return true;
     }
     public int getSalary() {
          return 2000;         
     }    
}

 
 
 
 
 

转载于:https://www.cnblogs.com/yedushusheng/p/4354543.html

Java——容器(泛型)相关推荐

  1. Java 容器 泛型:一、认识容器

    2019独角兽企业重金招聘Python工程师标准>>> Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 容器是Java语言学习中重要 ...

  2. java实验泛型与容器总结_【Java心得总结三】Java泛型上——初识泛型

    一.函数参数与泛型比较 泛型(generics),从字面的意思理解就是泛化的类型,即参数化类型.泛型的作用是什么,这里与函数参数做一个比较: 无参数的函数: public int[] newIntAr ...

  3. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  4. java gt_JAVA泛型知识--gt; lt;? extends Tgt;和lt;? super Tgt;

    extends T> 和 super T> 是Java泛型中的"通配符(Wildcards)" 和 "边界(Bounds)"的概念 extends ...

  5. java object转泛型_为什么Java的泛型要用擦除实现

    在 Java 中的 泛型 ,常常被称之为 伪泛型 ,究其原因是因为在实际代码的运行中,将实际类型参数的信息擦除掉了 (Type Erasure) .那是什么原因导致了 Java 做出这种妥协的呢?下面 ...

  6. 【Java心得总结六】Java容器中——Collection

    在[Java心得总结五]Java容器上--容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...

  7. 深入理解Java 容器

    Java 容器 Java 容器 一.概览 Collection Map 二.容器中的设计模式 迭代器模式 适配器模式 三.源码分析 ArrayList Vector CopyOnWriteArrayL ...

  8. Java的泛型特性_学习Java的重中之重!

    Java的"泛型"特性,你以为自己会了 使用Java的小伙伴,对于Java的一些高级特性一定再熟悉不过了,例如集合.反射.泛型.注解等等,这些可以说我们在平时开发中是经常使用到的, ...

  9. Java筑基——泛型的点点滴滴

    目录 1. 泛型的作用 2. 泛型类 3. 泛型接口 4. 泛型方法 5. 泛型擦除 5.1 擦除是什么? 5.2 擦除时使用边界替换类型参数 5.3 擦除会插入类型转换来保持类型安全 5.4 擦除会 ...

  10. 基于JDK 1.8 的 Java 容器UML图

    2019独角兽企业重金招聘Python工程师标准>>> 这张图主要描述Java中容器框架,基于JDK 1.8 的. 网上现有的相关图都是基于老版本的JDK,而且也比较简陋. 图中省略 ...

最新文章

  1. MATLAB 基本数据类型和调用方式
  2. 第一次作业之成员介绍
  3. AI算法连载10:统计之k 近邻法
  4. 【升职加薪必备架构图】Springboot学习路线汇总
  5. 12019.LMT84模拟温度传感器
  6. 09-R中文文本分析方便工具包chinese.misc简介
  7. 用bat文件在web端拉起本地cs应用(以拉起本地QQ音乐为例)
  8. prim最小生成树算法 邻接表+STL实现
  9. 【序列化与反序列化流】
  10. 3月25日 编译的四个过程
  11. 在线格式化mysql_SQL在线美化 | SQL格式化 | SQL压缩 —在线工具
  12. 有关 delphi7读取 excel 报错EoleException with message '未找到提供程序,该程序可能未能正确安装' 解决方式
  13. 大数据平台基础架构hadoop安全分析
  14. python 柱状图和折线图放在一起_python中用matplotlib画折线图、柱状图、散点图
  15. 【WPS表格】函数的3种引用方式,4种切换模式
  16. C语言报错警告合集(转)
  17. python人脸比对算法_人脸比对算法-人脸比较(1:N)
  18. 利用vantUI组件库中的Field 输入框、Cell 单元格完成金额数字框的数字转金额格式和金额大写
  19. C++程序设计课程设计报告——自助点餐系统
  20. Zabbx6.0(学习笔记)

热门文章

  1. python代码转换为pytorch_pytorch使用 to 进行类型转换方式
  2. Git和Github的学习
  3. Linux小知识(零散)
  4. JS中的this好神奇,都把我弄晕了
  5. extractCSS – 帮助你从 HTML 中快速分离出 CSS
  6. ios 在UIView上画图,线条
  7. 母版事件中注册javascript脚本
  8. MOTOMAN-SV3X运动学建模验证图
  9. 计算机辅助制造期末试题答案,精编国家开放大学电大本科《机械CAD-CAM》2025期末试题及答案(试卷号:1119)...
  10. 计算机组成原理中ID是什么,计算机组成原理.doc