在java中使用反射时如何检查方法参数的类型

在java中使用反射时如何检查方法参数的类型,java,reflection,Java,Reflection,我有一个这样的方法: public void get(Date date) Class<?> parametersType = method.getParameterTypes(); // check it if (parametersType[].equals(java.util.Date.class)) { // do something } 我使用反射得到它,我想检查参数的类型,确定它是否是java.util.Date的类型,我这样做: public void

我有一个这样的方法:

public void get(Date date)
Class<?> parametersType =  method.getParameterTypes();
// check it
if (parametersType[].equals(java.util.Date.class))
{
     // do something
}
我使用反射得到它,我想检查参数的类型,确定它是否是java.util.Date的类型,我这样做:

public void get(Date date)
Class<?> parametersType =  method.getParameterTypes();
// check it
if (parametersType[].equals(java.util.Date.class))
{
     // do something
}
Class parametersType=method.getParameterTypes();
//检查一下
if(parametersType[].equals(java.util.Date.class))
{
//做点什么
}

我想知道,还有其他方法吗?

如果你想知道一个方法是否有一个类型为
Date
的参数,你可以这样做

Class<?>[] parameters = method.getParameterTypes();
if (parameters.length == 1 && parameters[0] == Date.class)) {
    // do something
}
因为这样您将发现该方法是否有一个接受
日期的参数。例如,参数的类型可以是
对象
可克隆
可比较
,您仍然可以传递
日期