//泛型可以加到类上,方法上,接口上。
//泛型添加到类上,创建对象时明确泛型
class People<E>{
private E value;
public E getValue() {
return value;
}
public void setValue(E value) {
this.value = value;
}
//方法上明确泛型,在返回值前定义
public <Q> void prin(Q e){
System.out.println(e);
}
/*静态方法无法使用泛型,因为方法上加的泛型通过创建对象明确泛型类型
public static void prin(R e){
System.out.println(e);
}
*/
public void prinL(E e){
System.out.println(e);
}
interface inter<A>{
public void Show(A e);
}
//在接口上添加泛型时,在实现类上明确泛型类型
class Implm implements inter<String>{
@Override
public void Show(String e) {
// TODO Auto-generated method stub
}
}
}
public class JiHeDemo{
public static void main(String[] args){
People<String> p=new People<String>();
p.setValue("lishuai");
String s=p.getValue();
System.out.println(s);
p.prin(145421);
p.prinL("ksia");
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.TreeSet;
public class JiHeDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
Collections.addAll(al, "lishaui", "lajdu", "lajdiu");
forjhe(al);
TreeSet<Integer> tr = new TreeSet<Integer>();
tr.add(48);
tr.add(4185124);
tr.add(204);
forjhe(tr);
}
public static void forjhe(Collection<?> obj) {
for (Iterator<?> iterator = obj.iterator(); iterator.hasNext();) {
System.out.println(iterator.next());
}
}
}