一个关于getparameters方法的程序,看不懂,麻烦帮我解答一下,谢谢了

来源:百度知道 编辑:UC知道 时间:2024/09/23 02:23:29
package practice.a;

import java.util.*;

class Frob {}
class Fnorkle {}
class Quark<Q> {}
class Particle<POSITION,MOMENTUM> {}

public class LostInformation {
public static void main(String[] args) {
List<Frob> list = new ArrayList<Frob>();
Map<Frob,Fnorkle> map = new HashMap<Frob,Fnorkle>();
Quark<Fnorkle> quark = new Quark<Fnorkle>();
Particle<Long,Double> p = new Particle<Long,Double>();
System.out.println(Arrays.toString(
list.getClass().getTypeParameters()));
System.out.println(Arrays.toString(
map.getClass().getTypeParameters()));
System.out.println(Arrays.toString(
quark.getClass().getTypeParameters()));
System.out.println(Arrays.toString(
p.getClass().getTypeParameters()));
}
}
输出:
[E]
[K, V]
[Q]
[POSITION, M

看打印出来的东西就知道了啊,getparameters就是返回泛型的类型啊,list的类型的定义是java.util.List<E>,所以打印的是E,map是java.util.Map<K,V>
quark是Quark<Q>,所以打印的是Q,最后一个也是一样的