プロが教えるわが家の防犯対策術!

Javaの実行コンソールにて、メソッド名・ソースのライン数を出力させたいと思ってます。
C言語でいう、__func__や、__LINE__のように、
下記のように、System.out.println()内に埋め込み、それを出力させたいのです。(下記では、不明箇所をxxxとさせて頂いております。)

<ソース-TestClass.java->
public void main(){
Test();
return;
}
private static void Test(){
System.out.println("メソッド名["+xxx+"] ライン["+ xxx +"]");
return;
}

<実行ターム>
> java TestClass
> メソッド名[Test] ライン[14]

Javaではそういったメソッド名やライン数などの取得は困難なのでしょうか?または、そういったAPIは用意されておりますでしょうか?
ご存じの方いらっしゃいましたら、ご教授お願い致します。

A 回答 (2件)

>>> C言語でいう、__func__や、__LINE__のように、



ご希望の物はないと思います。。ご自身でプログラムする必要があります。

またこれも重要な違いですが、main()に関しては、

public static void main(String[] args)

と記述する必要があります。jvmから呼び出されるために、staticも必要となります。
    • good
    • 0

自分自身のメソッド名でしたら、スタックトレースを利用して


System.out.println((new Throwable()).getStackTrace()[0].getMethodName());
とかあります。

上記コードはJava 1.5です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!