java鎬庝箞鑾峰彇褰撳墠浣嶇疆
瑕佸湪Java涓幏鍙栧綋鍓嶄綅缃紝鍙互浣跨敤Java鐨?code>java.lang.Thread绫荤殑currentThread()
鏂规硶鑾峰彇褰撳墠姝e湪鎵ц鐨勭嚎绋嬶紝鐒跺悗浣跨敤getStackTrace()
鏂规硶鑾峰彇鍫嗘爤杞ㄨ抗銆傛渶鍚庯紝鍙互浣跨敤getClassName()
銆?code>getMethodName()鍜?code>getLineNumber()鏂规硶鑾峰彇绫诲悕銆佹柟娉曞悕鍜岃鍙枫€?/p>
涓嬮潰鏄竴涓ず渚嬩唬鐮侊細
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("褰撳墠浣嶇疆锛?quot; + className + "." + methodName + "(" + lineNumber + ")");
}
}
}
杈撳嚭缁撴灉绫讳技浜庯細
褰撳墠浣嶇疆锛欳urrentLocation.main(5)
娉ㄦ剰锛岃幏鍙栧綋鍓嶄綅缃殑鏂规硶鍙€傜敤浜庤皟璇曞拰寮€鍙戠洰鐨勶紝涓嶉€傚悎鍦ㄧ敓浜х幆澧冧腑浣跨敤銆?/p>