泛型的概念与使用

泛型的概念与使用

开发工具与关键技术:java,集合,泛型概念,泛型使用
作者:张启翔
撰写时间:2019-05-07

泛型概述

什么叫做泛型:通俗点说就是叫做:广泛的类型
泛型:在JDK1.5版本以后出现的新特新,用于解决安全问题。
泛型是由来:由数组而来。因为数组的类型也是统一类型。
好处:
1、 将运行时期出现的ClassCastException异常,转移到了编译时期,方便于程序员解决问题,让运行时问题减少,安全。
2、 避免了强转的麻烦
例子:定义一个集合,将集合中的元素遍历出来
没有使用泛型

import java.util.ArrayList;
import java.util.Iterator;

public class ConceptAndEmploy {
 public static void main(String[] args) {
	ArrayList al = new ArrayList();
	al.add("a1");
	al.add("a2asdf");
	al.add("a3trdhf");
	al.add("a4fgh");
	al.add("a5sdfgs");
	al.add("a6se");
	Iterator it = al.iterator();
	while(it.hasNext()){
		String s =it.next();
		System.out.println(s+":"+s.length());
	}
}
}

泛型使用

import java.util.ArrayList;
import java.util.Iterator;

public class ConceptAndEmploy {
 public static void main(String[] args) {
	ArrayList<String> al = new ArrayList<String>();
	al.add("a1");
	al.add("a2asdf");
	al.add("a3trdhf");
	al.add("a4fgh");
	al.add("a5sdfgs");
	al.add("a6se");
	Iterator<String> it = al.iterator();
	while(it.hasNext()){
		String s =it.next();
		System.out.println(s+":"+s.length());
	}
}
}

泛型的使用

泛型格式:通过<>来定义要操作的引用数据类型
在使用Java提供的对象时,什么时候写泛型呢?:通常在集合框架中很常见,只要能见到<>就是定义泛型。
尖括号里面的E代表的是Element(元素)的意思,没有一个具体的含义,相当于一个变量,参数类型,或者是形式参数。简单的说:其实<>就是用来接收类型的。
当使用集合时,将集合中要存储的数据类型作为参数转递到<>中即可。

例子:将集合中的元素进行比较
这里使用的是TreeSet例子

import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;

public class Genericity使用 {
 public static void main(String[] args) {
	TreeSet<String> ts =new TreeSet<String>(new LenComparator());
	ts.add("adcdg");
	ts.add("dbd");
	ts.add("adcdc");
	ts.add("ahd");
	ts.add("Dsg");
	Iterator<String> it =ts.iterator();
	while(it.hasNext()){
		String s = it.next();
		System.out.println(s);
	}
 }
}
class LenComparator implements Comparator<String>
{
	public int compare(String o1,String o2)
	{
		int num = new Integer(o2.length()).compareTo(new Integer(o1.length()));
		if(num == 0){
			return o2.compareTo(o1);
		}
		return num;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42217767/article/details/90016514