>Java >java지도 시간 >Java에서 현재 메소드의 이름을 어떻게 얻을 수 있습니까?

Java에서 현재 메소드의 이름을 어떻게 얻을 수 있습니까?

DDD
DDD원래의
2024-12-18 17:41:11799검색

How Can I Get the Current Method's Name in Java?

Java에서 현재 메서드 이름 가져오기

개발자는 문제 해결을 위해 Java에서 현재 실행 중인 메서드 이름을 검색하는 방법을 찾는 경우가 많습니다. 또는 정보 제공 목적. 수많은 접근 방식이 존재하지만 일부 접근 방식은 다른 접근 방식보다 더 효율적이고 효과적입니다.

Object.getClass().getEnclosingMethod().getName()

한 가지 방법은 익명 내부 클래스:

String name = new Object(){}.getClass().getEnclosingMethod().getName();

그러나 이 기술은 단점:

  • 컴파일 시 새로운 익명 내부 클래스를 생성하여 .class 파일 생성 오버헤드가 발생합니다.
  • 다음 위치에 사용되지 않는 객체 인스턴스를 생성합니다. 런타임.

장점:

  • java.lang.reflect.Method 객체를 반환하여 메소드 주석 및 매개변수 이름에 대한 액세스를 제공합니다.
  • 동일한 이름을 가진 메소드 간 구별 가능 (오버로딩).
  • JavaDoc에 따르면 내부 클래스가 동일한 클래스 로더를 사용하여 로드되므로 SecurityException이 발생하지 않습니다.

참고: 생성자의 경우, 대신 getEnclosingConstructor()를 사용하세요. 명명된 메서드 외부의 블록 동안 getEnclosingMethod()는 null을 반환합니다.

이 접근 방식은 유효한 솔루션이지만 개발자는 이를 프로덕션 코드에 사용하기 전에 원하는 기능과 비교하여 오버헤드를 평가해야 합니다.

위 내용은 Java에서 현재 메소드의 이름을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.