gpt4 book ai didi

java - Java中类的匹配方法返回类型?

转载 作者:行者123 更新时间:2023-12-02 02:46:12 25 4
gpt4 key购买 nike

我需要将方法返回类型与类相匹配。我怎样才能做到这一点?

public class MethodTest {

public static List<String> getStringList()
{
return null;
}

public static void main(String[] args)
{
for(Method method : MethodTest.class.getMethods())
{
Type returnType = method.getGenericReturnType();
// How can for example test if returnType is class List?
}
}

}

最佳答案

我相信您可以检查TypeParameterizedType并使用原始类型(如果是):

if (returnType instanceof ParameterizedType)
{
System.out.println("Parameterized");
ParameterizedType parameterized = (ParameterizedType) returnType;
System.out.println(parameterized.getRawType().equals(List.class));
}
else
{
System.out.println("Not parameterized");
System.out.println(returnType.equals(List.class));
}

这将处理List<?>List ,但它不会匹配声明返回 List 的具体实现的方法。 。 (为此使用isAssignableFrom。)

请注意,如果您不打算使用有关返回类型的泛型类型参数等的任何其他内容,missingfaktor 的答案是一个很好的答案。

关于java - Java中类的匹配方法返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868726/

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