본문 바로가기

Programming/JAVA

[Java] 자신을 호출한 이전 메소드 혹은 클래스 정보 보기




-M.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package test;
 
public class M {
    
    public static void main(String[] args) {
        new M().a();
    }
    
    void a(){
        b();
    }
    
    void b(){
         StackTraceElement[] a = new Throwable().getStackTrace();
         
         for(int i = a.length - 1; i > 0 ; i--){
             System.out.print("클래스 - " + a[i].getClassName());
             System.out.print(", 메소드 - "+a[i].getMethodName());
             System.out.print(", 라인 - "+a[i].getLineNumber());
             System.out.print(", 파일 - "+a[i].getFileName());
             System.out.println();
         }
    }
}
 

결과

클래스 - test.M, 메소드 - main, 라인 - 7, 파일 - M.java
클래스 - test.M, 메소드 - a, 라인 - 12, 파일 - M.java
 

 

Throwable 클래스의 getStackTrace 메소드를 이용하면 자신(메소드)를 호출한 이전 메소드나 클래스의 정보를 볼 수 있다


출처 : http://wakeupjava.tistory.com/147


'Programming > JAVA' 카테고리의 다른 글

java.lang.Object 메쏘드 분석 6 - wait , notify  (0) 2015.07.03
enum의 뿌리를 찾아서  (0) 2015.07.02
Make a Java Daemon with Jsvc on Linux  (0) 2015.06.05
Java Data Structure  (0) 2015.01.29
Get Column Names From ResultSet for MySQL  (0) 2014.12.08