gpt4 book ai didi

java - 如何正确打印参数名称?

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:47 24 4
gpt4 key购买 nike

输出应如下所示:

foo(A, T1, T2) -> void

栏(A,T1,T2,T3)->整数

doo() -> 双

public static class A  {
void foo(int T1, double T2) { }
int bar(int T1, double T2, char T3) { return 1; }
static double doo() { return 1; }
}

static void displayMethodInfo(Object obj)
{
Class<?> a = obj.getClass();
Method[] methods = a.getDeclaredMethods();
for (Method y : methods) //print methods
{
System.out.print(y.getName() + "(" ); // + y.getDeclaringClass().getSimpleName());
Type[] types = y.getGenericParameterTypes(); //get parameter types

if (!(Modifier.isStatic((y.getModifiers()))))
{
//non-static method, output this class namr as the 1st argument
System.out.print(y.getName()); //display
if (types.length > 0)
{
//put a comma and space
System.out.print(", ");
}
}
for (Type z : types)
System.out.print(", " + z.toString());
System.out.println( ") " + " -> " + y.getGenericReturnType().toString()); //*/

/*
//print parameter of the method
int i = 0;
for (; i < types.length-1; i++)
{
System.out.print(removeClassFromName (types[i].toString()) + ", ");
}
if (types.length > 0) //print last parameter
{
System.out.print(removeClassFromName(types[i].toString()));
//print return type
System.out.println( " ) " + " -> " + removeClassFromName(y.getGenericReturnType().toString()));
} */


}
}

在我运行代码后,它输出的代码如下,它没有正确打印出类型。我应该如何修复并正确输出?

bar(int, double, char) -> int

doo() -> 双

foo(int, double) -> void

每次我重新编译并运行它时,输出都有不同的顺序。

最佳答案

@Zoe 正如 @Sami Sarraj 所说,你的代码正在做应该做的事情。

关于顺序,不可能获取 getDeclaredMethods() 调用编写的顺序,如您所见 here

关于获取参数名称你可以找到提示here .

关于java - 如何正确打印参数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47624831/

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