• 泛型的抽取放方 类型


    package test;
    
    
    import java.util.*;
    
    import privateclass.*;
    
    import java.io.*;
    
    public class Main {
    
    	private static final String space_operator = " ";
    	public static void main(String[] args) throws Exception {
    
    		Scanner scanner = new Scanner(new BufferedInputStream(System.in));
    		PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
    		
    		ArrayList<String> a1 = new ArrayList<String>();
    		
    		a1.add("上水");
    		a1.add("布谷鸟");
    		
    		printcollection1(a1);
    		
    		ArrayList<String> a2 = new ArrayList<String>();
    		
    		a2.add("zhuzhu");
    		a2.add("zhiliao");
    		
    		printcollection1(a2);
    		
    		ArrayList<Integer> a3 = new ArrayList<Integer>();
    		
    		a3.add(4);
    		a3.add(6);
    		printcollection2(a3);
    		
    		printcollection3(a3);
    		
    		ArrayList<Student> a4 = new ArrayList<Student>();
    		a4.add(new Student("治疗", 3));
    		a4.add(new Student("唐三", 4));
    		
    		printcollection4(a4);
    		
    		
    	}
    	
    	//只要是collection的小弟我们就可以打印出来不过我们的泛型是string
    	public static void printcollection1(Collection<String> a1) {
    		Iterator<String> it = a1.iterator();
    		while(it.hasNext())
    		{
    			System.out.println(it.next());
    		}
    	}
    	
    	//当我们加了?只要是collection的小弟我们都可以打印出来
    	public static void printcollection2(Collection<?> a1) {
    		Iterator<?> it = a1.iterator();
    		while(it.hasNext())
    		{
    			System.out.println(it.next());
    		}
    	}
    	
    	//当我们加了类型T我们就可以直接用T定义并且打印
    	public static <T> T printcollection3(Collection<T> a1) {
    		T t = null;
    		Iterator<?> it = a1.iterator();
    		while(it.hasNext())
    		{
    			System.out.println(it.next());
    		}
    		return t;
    	}
    	
    	//当我们加上?extends 我们就可以限定加入的类型全是Person的子类或者Person类
    	public static void printcollection4(Collection<? extends Person> a1) {
    		Iterator<? extends Person> it = a1.iterator();
    		while(it.hasNext())
    		{
    			System.out.println(it.next());
    		}
    	}
    	
    	//当我们加上?super 我们就可以限制这个类型的下限,我们这样接受的类型都是Student或者Student父类
    	public static void printcollection5(Collection<? super Person> a1) {
    		Iterator<? super Person> it = a1.iterator();
    		while(it.hasNext())
    		{
    			System.out.println(it.next());
    		}
    	}
    }
    

      

  • 相关阅读:
    最常用和最难用的控件--ListView(Android第一行代码)
    LayoutInflater的使用
    JAVA的网络编程【转】
    Android 程序调试
    android Log日志使用
    Android Animation
    实现ImageView宽度填满屏幕
    Android ViewPager使用详解
    对另一个布局文件里的Button按钮进行监听
    如何在一个Activity里使用另一个xml布局文件
  • 原文地址:https://www.cnblogs.com/WINDZLY/p/11788672.html
Copyright © 2020-2023  润新知