public final class StackTraceElement extends Object implements Serializable
Throwable.getStackTrace()により返される値。各要素は単一のスタック・フレームを表します。スタックの先頭にあるスタック・フレームを除く、すべてのスタック・フレームは、メソッド呼出しを表します。スタックの先頭のフレームは、スタック・トレースが生成された実行ポイントを表します。通常、これは、スタック・トレースに対応するスロー可能オブジェクトが作成されたポイントになります。| コンストラクタと説明 |
|---|
StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)
指定された実行ポイントを表すスタック・トレース要素を作成します。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean |
equals(Object obj)
指定されたオブジェクトが、このインスタンスと同じ実行ポイントを表す、別の
StackTraceElementインスタンスである場合、trueを返します。 |
String |
getClassName()
このスタック・トレース要素が表す実行ポイントを含むクラスの完全修飾名を返します。
|
String |
getFileName()
このスタック・トレース要素が表す実行ポイントを含むソース・ファイルの名前を返します。
|
int |
getLineNumber()
このスタック・トレース要素が表す実行ポイントを含むソース・ファイルの行番号を返します。
|
String |
getMethodName()
このスタック・トレース要素が表す実行ポイントを含むメソッドの名前を返します。
|
int |
hashCode()
このスタック・トレース要素のハッシュ・コード値を返します。
|
boolean |
isNativeMethod()
このスタック・トレース要素が表す実行ポイントを含むメソッドがネイティブ・メソッドの場合、trueを返します。
|
String |
toString()
このスタック・トレース要素の文字列表現を返します。
|
public StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)
declaringClass - スタック・トレース要素が表す実行ポイントを含むクラスの完全修飾名methodName - スタック・トレース要素が表す実行ポイントを含むメソッドの名前fileName - スタック・トレース要素が表す実行ポイントを含むファイルの名前、またはnull (この情報を使用できない場合)lineNumber - このスタック・トレース要素が表す実行ポイントを含むソース行の行番号、または負の数値(この情報を使用できない場合)。-2の値は、実行ポイントを含むメソッドがネイティブ・メソッドであることを示すNullPointerException - declaringClassまたはmethodNameがnullの場合public String getFileName()
classファイルのSourceFile属性を表します(『Java仮想マシン仕様』のセクション4.7.7を参照)。システムによっては、名前が、ファイルではなくソース・コード単位を参照する場合もあります(ソース・リポジトリ内のエントリなど)。null (この情報を使用できない場合)。public int getLineNumber()
classファイルのLineNumberTable属性から導き出されます(『Java仮想マシン仕様』のセクション4.7.8を参照)。public String getClassName()
Classの完全修飾名。public String getMethodName()
<init>または<clinit>を返します(『Java仮想マシン仕様』のセクション3.9を参照)。public boolean isNativeMethod()
trueを返す。public String toString()
"MyClass.mash(MyClass.java:9)" - ここで、"MyClass"はこのスタック・トレース要素で表される実行ポイントを含むクラスの完全修飾名、"mash"は実行ポイントを含むメソッドの名前、"MyClass.java"は実行ポイントを含むソース・ファイル、"9"は実行ポイントを含むソース行の行番号です。
"MyClass.mash(MyClass.java)" - 上記と同じ。ただし、行番号を利用できない点が異なる。
"MyClass.mash(Unknown Source)" - 上記と同じ。ただし、ファイル名も行番号も利用できない点が異なる。
"MyClass.mash(Native Method)" - 上記と同じ。ただし、ファイル名も行番号も利用できず、実行ポイントを含むメソッドがネイティブ・メソッドと見なされる点が異なる。
toString、クラス: ObjectThrowable.printStackTrace()public boolean equals(Object obj)
StackTraceElementインスタンスである場合、trueを返します。2つのスタック・トレース要素aおよびbが等価になるのは、次の場合だけです。
equals(a.getFileName(), b.getFileName()) &&
a.getLineNumber() == b.getLineNumber()) &&
equals(a.getClassName(), b.getClassName()) &&
equals(a.getMethodName(), b.getMethodName())
ここで、equalsはObjects.equalsのセマンティックスを持ちます。equals、クラス: Objectobj - スタック・トレース要素と比較されるオブジェクト。StackTraceElementである場合、trueを返す。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.