首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取自定义方法名称?

获取自定义方法名称可以通过以下几种方式:

  1. 使用反射:通过反射可以获取方法的名称。在Java中,可以使用Method类的getName()方法来获取方法的名称。例如:
代码语言:txt
复制
import java.lang.reflect.Method;

public class MyClass {
    public void myMethod() {
        // 获取方法名称
        String methodName = new Object(){}.getClass().getEnclosingMethod().getName();
        System.out.println(methodName);
    }
}
  1. 使用Lambda表达式:在Lambda表达式中,可以使用MethodReference来获取方法的名称。例如:
代码语言:txt
复制
import java.util.function.Consumer;

public class MyClass {
    public static void main(String[] args) {
        Consumer<String> consumer = MyClass::myMethod;
        String methodName = consumer.toString().split("::")[1];
        System.out.println(methodName);
    }

    public static void myMethod(String s) {
        // do something
    }
}
  1. 使用StackTrace:通过获取当前线程的堆栈信息,可以获取方法的名称。例如:
代码语言:txt
复制
public class MyClass {
    public static void main(String[] args) {
        myMethod();
    }

    public static void myMethod() {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        String methodName = stackTrace[1].getMethodName();
        System.out.println(methodName);
    }
}

以上是获取自定义方法名称的几种常见方式。根据具体的使用场景和需求,选择合适的方式来获取方法名称。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库(CDB):https://cloud.tencent.com/product/cdb
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mps
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙(Tencent Meeting):https://meeting.tencent.com/
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java如何获取方法参数具体名称?这是个好问题!

默认情况下,我们是无法获取方法中参数名称的。通过反射机制,也只能得到参数的顺序以及一些没有意义的变量:arg0、arg1等等。 但我们又确实需要这部分信息。...在JDK 8之后,可以通过在编译时指定-parameters选项,将方法的参数名记入class文件,并在运行时通过反射机制获取相关信息。...在普通Java项目里,就可以通过下面的方式来获取反射数据。Method.getParameters这个方法是新加的。...实际上是通过读取LocalVariableTable中的数据进行获取的。如果你编译的时候没有加入这些debug选项,同样也拿不到方法参数的具体名称。 总结一下。...Java8以前,读取Class中的LocalVariableTable属性表,需要编译时加入参数-g或者-g:vars 获取方法局部变量调试信息;Java8及其以后,通过java.lang.reflect.Parameter

4.4K30
  • spring aop 利用JoinPoint获取参数的值和方法名称

    今天说一说spring aop 利用JoinPoint获取参数的值和方法名称[通俗易懂],希望能够帮助大家进步!!!...我们先来了解一下这两个接口的主要方法: 1)JoinPoint  java.lang.Object[] getArgs():获取连接点方法运行时的入参列表;  Signature getSignature...() :获取连接点的方法签名对象;  java.lang.Object getTarget() :获取连接点所在的目标对象;  java.lang.Object getThis() :获取代理对象本身...; 2)ProceedingJoinPoint ProceedingJoinPoint继承JoinPoint子接口,它新增了两个用于执行连接点方法方法:  java.lang.Object proceed...一、概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现现在的问题来了虽然我们利用AOP,那么客户端如何信息传递?

    6.1K10

    获取实体类@注解信息_jquery获取class名称

    URL url = dirs.nextElement(); // 得到协议的名称 String protocol = url.getProtocol(); // 如果是以文件的形式保存在服务器上 if...= null) { controllers.add(cls); } } } return controllers; } } Jetbrains全家桶1年46,售后保障稳定 自定义返回数据到前端...serializers) throws IOException { //返回数据给前端 value是属性值 调用实体类get方法获取,可以改变赋值 gen.writeString(LangUtils.translate...返回前端会出现四舍五入的情况 @JsonSerialize(using = ToStringSerializer.class) private Long orderId; private Long mqttId; /** * 名称...LangShift.class) private String name; @JsonSerialize(using = LangShift.class) private String sn; 也可以直接在实体的get方法上更改数据

    2.2K30

    Java获取函数参数名称的另一种方法

    https://blog.csdn.net/10km/article/details/79308845 关于获取java 方法的参数名(这里指java 1.8以前的版本,java 1.8...已经提供了相关的原生方法),网上可以找到不少文章,这篇文章讲得比较全面了:《Java获取函数参数名称的几种方法》,无外乎是借用asm,javasist等第三方库。...我对axis2比较熟悉,知道axis2中在生成client代码时也需要获取方法的参数名,于是通过分析源码找到了axis2的实现代码。... * {@code name}为{@code null}时,获取构造函数的参数名 * @param name 方法名 * @param parameterTypes...ParameterNames.java 调用示例: private static void outputParameterNames(Method method){ // 抽象方法不能正确获取参数名

    89310
    领券