如何获得Map中 String或Date类型

怎么获得Map<String,Date>中 String或Date类型
有一个要求就是获得范型中类型;想了很多招都不能实现。
但有框架确实能够达到这个要求,他们是怎么去实现的呢?


import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


public class TestFanXing {
public static void main(String[] args) throws Exception{
Map<String, Date> map=new HashMap<String,Date>();
   
Method m= TestFanXing.class.getMethod("apply", Map.class);
    Type[] t=m.getGenericParameterTypes();
    ParameterizedType pt=(ParameterizedType)t[0];
    System.out.println(pt.getRawType());
    System.out.println(pt.getActualTypeArguments()[0]);
    System.out.println(pt.getActualTypeArguments()[1]);
}
public static  void apply(Map<String, Date> t){}
}





//---------------------------------结果:

interface java.util.Map
class java.lang.String
class java.util.Date