zoukankan      html  css  js  c++  java
  • Java——容器(泛型)

    【泛型】

     起因: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;         
         }    
    }
     
     
     
     
     
     
  • 相关阅读:
    window.open 打开全屏窗口
    H5实现全屏与F11全屏
    泛型 总结
    java 反射
    静态工厂模式
    设计模式---单例模式
    String、List、array相互转换
    将数组转换成list
    将对象转换成json字符串的几种方式
    在map中放入数据时,如果key相同,会替换掉之前的相同key的数据
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/4354543.html
Copyright © 2011-2022 走看看