javaで現在位置を取得する方法

Javaで現在位置を取得するには、Javaのjava.lang.ThreadクラスのcurrentThread()メソッドで現在実行中のスレッドを取得し、getStackTrace()メソッドでスタックトレースを取得します。その後、getClassName()、getMethodName()、getLineNumber()メソッドを使用すれば、クラス名、メソッド名、行番号を取得できます。

次をサンプルコードとして記載します:

public class CurrentLocation {
    public static void main(String[] args) {
        getLocation();
    }

    public static void getLocation() {
        Thread thread = Thread.currentThread();
        StackTraceElement[] stackTraceElements = thread.getStackTrace();
        if (stackTraceElements.length >= 2) {
            String className = stackTraceElements[1].getClassName();
            String methodName = stackTraceElements[1].getMethodName();
            int lineNumber = stackTraceElements[1].getLineNumber();
            System.out.println("当前位置:" + className + "." + methodName + "(" + lineNumber + ")");
        }
    }
}

翻訳結果には類似性が見受けられません。

当前位置:CurrentLocation.main(5)

位置取得方法はデバッグや開発目的のみで使用してください。本番環境には適していません。

bannerAds