クラスのハッシュコードをカスタマイズしたい。私の問題は、JVMのデフォルトのStackTraceElementクラスの代わりに、この新しいカスタマイズされたクラスをどのように使用するかです。 StackTraceElement
質問する
1067 次
2 に答える
2
StackTraceElement クラスを拡張してカスタマイズしたい
StackTraceElementはfinal
拡張できないため、拡張できません。
(何らかの理由で) スタック トレースの出力方法をカスタマイズしたい場合は、 を受け取り、Throwable
さまざまなメソッドを使用しStackTraceElement
て独自のレイアウトを作成するユーティリティ メソッドを実装できます。
public static void printCustomizedTrace(Throwable t) {
for(StackTraceElement e : t.getStackTrace()) {
System.err.println(" => " + e.getFileName() + ":" + e.getLineNumber());
}
}
委任を使用して のリストを作成し、クラスにCustomStackTraceElements
追加のロジック ( different などhashmap()
)を実装することもできます。CustomStackTraceElement
public static List<CustomStackTraceElement> getCustomizedStackTrace(Throwable t) {
List<CustomStackTraceElement> result = new ArrayList<>();
for(StackTraceElement e : t.getStackTrace()) {
result.add(new CustomStackTraceElement(e));
}
return result;
}
于 2013-01-21T12:27:44.997 に答える