아래와 같이 getEnclosingMethod() 의 getName()을 호출하면 현재 수행중인 메소드의 이름을 얻을 수 있음.
String name = new Object() {}.getClass().getEnclosingMethod().getName();
로그를 출력할 때 유용하게 이용하게 있긴 하지만, 오버헤드가 장난 아니기 때문에 실제 개발용으로는 비추.
(안드로이드의 경우) 소스의 내용을 파악할 때 메소드마다 아래와 같이 한 줄씩 넣어주면 좋음.
Log.d("MyTAG", new Object() {}.getClass().getEnclosingMethod().getName());
단, 생성자에서는 이 코드를 호출할 수 없음! getEnclosingMethod 가 Null 이라 getEnclosingConstructor를 호출해야 생성자를 얻을 수 있음.
Log.d("MyTAG", new Object() {}.getClass().getEnclosingConstructor().getName());
'Android' 카테고리의 다른 글
Java, 기본 데이터 타입 (0) | 2017.11.30 |
---|---|
[ADB] 현재 화면에 표시되는 액티비티가 알고싶다면? (0) | 2017.06.29 |
Android studio의 유용한 플러그인 (1) | 2016.12.13 |
[Google IO 2016] 안드로이드 스튜디오 2.2 소개 (0) | 2016.05.25 |
Eclipse에서 RecyclerView 와 CardView 이용하기 (0) | 2016.01.25 |