「java方法名取得」java命名法

博主:adminadmin 2022-12-06 17:03:08 80

今天给各位分享java方法名取得的知识,其中也会对java命名法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何动态获取方法名

public class Test {

public static void main(String[] args)throws Exception {

// TODO Auto-generated method stub

A a=new A();

String i="setB";

Method cc=a.getClass().getMethod(i, String.class);//获取方法

//String.class如果没有就是new Class[0]

System.out.println(cc.getName());

cc.invoke(a, "aa");

//调用方法

System.out.println(a.getB());

}

}

class A{

private int a=0;

private String b="abc";

public int getA() {

return a;

}

public void setA(int a) {

this.a = a;

}

public String getB() {

return b;

}

public void setB(String b) {

this.b = b;

}

}

java怎么获取方法参数名

在java中,可以通过反射获取到类、字段、方法签名等相关的信息,像方法名、返回值类型、参数类型、泛型类型参数等,但是不能够获取方法的参数名。在实际开发场景中,有时需要根据方法的参数名做一些操作,比如像spring-mvc中,@RequestParam、@PathVariable注解,如果不指定相应的value属性,默认就是使用方法的参数名做为HTTP请求的参数名,它是怎么做到的呢?

在这样情况下,有两种方法获取方法来解决这种需求,第一种方法是使用注解,在注解中指定对应应的参数名称,在需要使用参数名称时,获取注解中相应的值即可。第二种方法是从字节码中获取方法的参数名,但是这有一个限制,只有在编译时使用了-g或-g:vars参数生成了调试信息,class文件中才会生成方法参数名信息(在本地变量表LocalVariableTable中),而使用-g:none方式编译的class文件中是没有方法参数名信息的。所以要想完全不依赖class文件的编译模式,就不能使用这种方式。

java中如何获取方法名字

import java.lang.reflect.Method;

public class Users {

public void print() {

}

public void getName() {}

public static void main(String[] args) {

Class c = Users.class;

Method m[] = c.getDeclaredMethods();

for (int i = 0; i m.length; i++) {

System.out.println("方法名" + m[i].getName());

}

}

}

java如何获取方法参数名

用反射机制,简单写了一个例子,不懂的可以看一下相关api public class OwerMethodParam {

public static void main(String[] args) {

new OwerMethodParam().test("bb");

}

public void test(String aa) {

Method[] methods = OwerMethodParam.class.getDeclaredMethods(); //取得这个类的所有方法

if (methods != null) {

for (int i = 0; i methods.length; i++) {

Method method = methods[i];

if ("test".equals(method.getName())) { //取得本方法,这个方法是test,所以就用test比较

Class?[] paramsClass = method.getParameterTypes(); //取得参数列表的所有类

if (paramsClass != null) {

for (Class? class1 : paramsClass) {

System.out.println(class1.getName());

}

}

break;

}

}

关于java方法名取得和java命名法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-06,除非注明,否则均为首码项目网原创文章,转载请注明出处。