マンガでよめる痔のこと・薬のこと

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は用意されておりますでしょうか?
ご存じの方いらっしゃいましたら、ご教授お願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

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


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

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

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



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

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

public static void main(String[] args)

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

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング