gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:08:18 25 4
gpt4 key购买 nike

我有一个这样的方法:

public void get(Date date)

我使用反射获取它,我想检查参数的类型,确保它是否是 java.util.Date 的类型,我是这样做的:

Class<?> parametersType =  method.getParameterTypes();
// check it
if (parametersType[].equals(java.util.Date.class))
{
// do something
}

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

最佳答案

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

Class<?>[] parameters = method.getParameterTypes();
if (parameters.length == 1 && parameters[0] == Date.class)) {
// do something
}

如果这样做可能会更好

if (parameters.length == 1 && parameters[0].isAssignableFrom(Date.class))

因为那时你会发现该方法是否有一个参数可以接受 Date .例如,参数的类型可以是 Object , CloneableComparable<?>你仍然可以通过 Date .

关于java - 在java中使用反射时如何检查方法参数的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com