JAVA基础----java中E,T,?的区别?

转载 2015年07月08日 08:58:05
遇到<A>,<B>,<K,V>等,是用到了java中的泛型。 
一般使用<T>来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type) 
如果是容器的元素可以使用E(Element),若键值匹配可以用K(Key)和V(Value)等, 
若是<?>,则是默认是允许Object及其下的子类,也就是java的所有对象了。
 

所以说,如果是字每A,B,C,D...定义的,就是泛型,这里T只是名字上的意义而已T---type,E----Element 
K----key, V----value 
如果是?定义的,就是普通的Object或者其子类 

举例说明: 
Set<T> 表示 集合里 是   T类的实例 
List<E> 表示  集合里 是  E类的实例 
List<?> 表示 集合里的对象类型不确定,未指定 
List 同 List<?> 是一样的。
 

泛型的作用: 
1、用泛型: 
Java代码  收藏代码
  1. List<T> list=new ArrayList<T>();  
  2. T t=list.get(0);  

2、不用泛型: 
Java代码  收藏代码
  1. List  list=new ArrayList();  
  2. T t=(T)list.get(0);  

相信你已经看出: 
a、用泛型只是确定了集合内的元素的类型,但却是在编译时确定了元素的类型再取出来时已经不再需要强转, 
增强程序可读性,稳定性和效率 
b、不用泛型时,如果是装入集合操作,那么元素都被当做Object对待,失去自己的类型,那么从集合中取出来时, 
往往需要转型,效率低,容易产生错误

JavaAPI中的<T>和<E>分别代表什么?

比如 Iterable 和 Iterator 这里的T和E分别是Type和Element的首字母。 E一般用来表示集合类型中的元素的类型,例如List接口的定义,public inter...
  • bruce_suxin
  • bruce_suxin
  • 2017年02月25日 16:52
  • 2197

java 中E T ?使用

public interface TestT { public T getElement(); public void printList(List list); public void pri...
  • Raynaing
  • Raynaing
  • 2016年03月18日 16:00
  • 1002

java泛型中<?>、<T>、<E>、<K>、<S>的区别

其实在java中都代表着泛型  属于类型形参的一种 在代码中经常会看到这样的函数 public static void printColl(ArrayList al){ Iterator...
  • sinat_29774479
  • sinat_29774479
  • 2017年07月13日 16:03
  • 794

JAVA泛型中? T K V E等代表的意思

在java泛型中 ?代表不确定的java类型 T代表java类型 K V 代表java键值中的key和value E代表Element Object跟这些字符代表的java类型有什么...
  • youzhouliu
  • youzhouliu
  • 2016年05月07日 15:47
  • 2807

JAVA泛型中:? T K V E意义小结

泛型三种:           [1]ArrayList al=new ArrayList();指定集合元素只能是T类型           [2]ArrayList al=n...
  • dear_Alice_moon
  • dear_Alice_moon
  • 2017年03月04日 16:13
  • 418

java泛型中的E,K,V,T,U,S

  • qq_15037231
  • qq_15037231
  • 2017年07月03日 20:14
  • 469

Java泛型中K T V E ? object等的含义

E – Element (在集合中使用,因为集合中存放的是元素) T – Type(Java 类) K – Key(键) V – Value(值) N – Number(数值类...
  • u014076277
  • u014076277
  • 2016年12月02日 10:22
  • 1191

泛型E,T,K,V等与?区别

1.E,T,K,V等表示固定泛型类型参数需要声明,而通配符?不需要定义可以直接使用,表示泛型的类型参数。 2.E,T,K,V等表示固定泛型类型这样可以在方法里来定义入参,而通配符?做不到的。 例子...
  • pangrui201
  • pangrui201
  • 2016年10月23日 10:55
  • 1199

java泛型中<?>和<T>有什么区别?

public static void printColl(ArrayList al){                 Iterator it = al.iterator();          ...
  • huiweizuotiandeni
  • huiweizuotiandeni
  • 2017年04月22日 21:14
  • 2126

Java泛型中E、T、K、V等的含义

E - Element (在集合中使用,因为集合中存放的是元素)  T - Type(Java 类)  K - Key(键)  N - Number(数值类型)  S,U,...
  • chenlycly
  • chenlycly
  • 2014年05月11日 21:07
  • 49125
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA基础----java中E,T,?的区别?
举报原因:
原因补充:

(最多只允许输入30个字)