2010年12月01日

[java]staticではthisは使えません。ウルセー、Class名ヨコセヽ(`Д´)ノウワァァァン

表題の様なエラーに遭遇してしかたなくクラス名をリテラルで埋め込んでたりして
コピペされたあとに文句言われるとか、どうかと思う前に何とかしよう。
(主にlog4jのLogger.getLogger()とかであるお話だろう)

甲殻。降格。広角。こう書く。 ATOK調子悪いな・・。

String ClassName = new Throwable().getStackTrace()[0].getClassName();

例外を処理に使うなんてとんでもない、パフォーマンスがががががとか
言う輩が居るかもしれない。
そういう場合は、こういったコードがパフォーマンスに影響する箇所に登場する方を疑おう。
注意点はスタックフレームから取りだしているので、この処理をユーティリティ化とか言って、
別クラスに入れると、別のクラス名になってしまう点だ。
(階層が増えるから[0]じゃなく、[1]にしないと目的を達せられない)
posted by koteitan at 15:55| Comment(1) | TrackBack(0) | Java | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
天才!
Posted by at 2013年04月25日 10:13
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/171393826

この記事へのトラックバック