クラスStackTraceElement
- すべての実装されたインタフェース:
Serializable
Throwable.getStackTrace()により返される値。 各要素は単一のスタック・フレームを表します。 スタックの先頭にあるスタック・フレームを除く、すべてのスタック・フレームは、メソッド呼出しを表します。 スタックの先頭のフレームは、スタック・トレースが生成された実行ポイントを表します。 通常、これは、スタック・トレースに対応するスロー可能オブジェクトが作成されたポイントになります。 - 導入されたバージョン:
- 1.4
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber) 指定された実行ポイントを表すスタック・トレース要素を作成します。StackTraceElement(String classLoaderName, String moduleName, String moduleVersion, String declaringClass, String methodName, String fileName, int lineNumber) 指定された実行ポイントを表すスタック・トレース要素を作成します。 -
メソッドのサマリー
修飾子と型メソッド説明boolean指定されたオブジェクトが、このインスタンスと同じ実行ポイントを表す、別のStackTraceElementインスタンスである場合、trueを返します。このスタック・トレース要素で表される実行ポイントを含むクラスのクラス・ローダーの名前を返します。このスタック・トレース要素で表される実行ポイントを含むClassの「バイナリ名」を返します。このスタック・トレース要素が表す実行ポイントを含むソース・ファイルの名前を返します。intこのスタック・トレース要素が表す実行ポイントを含むソース・ファイルの行番号を返します。このスタック・トレース要素が表す実行ポイントを含むメソッドの名前を返します。このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール名を返します。このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール・バージョンを返します。inthashCode()このスタック・トレース要素のハッシュ・コード値を返します。booleanこのスタック・トレース要素が表す実行ポイントを含むメソッドがネイティブ・メソッドの場合、trueを返します。toString()このスタック・トレース要素の文字列表現を返します。
-
コンストラクタの詳細
-
StackTraceElement
指定された実行ポイントを表すスタック・トレース要素を作成します。 スタック・トレース要素のmodule nameとmodule versionはnullになります。- パラメータ:
declaringClass- スタック・トレース要素で表される実行ポイントを含むクラスの「バイナリ名」methodName- スタック・トレース要素が表す実行ポイントを含むメソッドの名前fileName- スタック・トレース要素が表す実行ポイントを含むファイルの名前、またはnull(この情報を使用できない場合)lineNumber- このスタック・トレース要素が表す実行ポイントを含むソース行の行番号、または負の数値(この情報を使用できない場合)。 -2の値は、実行ポイントを含むメソッドがネイティブ・メソッドであることを示す- スロー:
NullPointerException-declaringClassまたはmethodNameがnullの場合- 導入されたバージョン:
- 1.5
-
StackTraceElement
public StackTraceElement(String classLoaderName, String moduleName, String moduleVersion, String declaringClass, String methodName, String fileName, int lineNumber) 指定された実行ポイントを表すスタック・トレース要素を作成します。- パラメータ:
classLoaderName- スタック・トレースによって表される実行ポイントを含むクラスのクラス・ローダーが指定されている場合は、クラス・ローダー名。そうでなければnullmoduleName- スタック・トレースによって表される実行ポイントを含むクラスが名前付きモジュールにある場合、モジュール名。そうでなければnullmoduleVersion- スタック・トレースによって表される実行ポイントを含むクラスがバージョンを有する名前付きモジュールにある場合、モジュール・バージョン。そうでなければnulldeclaringClass- スタック・トレース要素で表される実行ポイントを含むクラスの「バイナリ名」methodName- スタック・トレース要素が表す実行ポイントを含むメソッドの名前fileName- スタック・トレース要素が表す実行ポイントを含むファイルの名前、またはnull(この情報を使用できない場合)lineNumber- このスタック・トレース要素が表す実行ポイントを含むソース行の行番号、または負の数値(この情報を使用できない場合)。 -2の値は、実行ポイントを含むメソッドがネイティブ・メソッドであることを示す- スロー:
NullPointerException-declaringClassがnullまたはmethodNameがnullの場合- 導入されたバージョン:
- 9
-
-
メソッドの詳細
-
getFileName
-
getLineNumber
public int getLineNumber()このスタック・トレース要素が表す実行ポイントを含むソース・ファイルの行番号を返します。 通常、これは関連するclassファイル(「Java Virtual Machine仕様」、4.7.8項に従ってください)のLineNumberTable属性から導出されます。- 戻り値:
- このスタック・トレース要素が表す実行ポイントを含むソース行の行番号、または負の数値(この情報を使用できない場合)
-
getModuleName
public String getModuleName()このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール名を返します。- 戻り値:
- このスタック・トレース要素で表される実行ポイントを含む
Moduleのモジュール名。モジュール名が使用できない場合はnull。 - 導入されたバージョン:
- 9
- 関連項目:
-
getModuleVersion
public String getModuleVersion()このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール・バージョンを返します。- 戻り値:
- このスタック・トレース要素で表される実行ポイントを含む
Moduleのモジュール・バージョン。モジュール・バージョンが使用できない場合はnull。 - 導入されたバージョン:
- 9
- 関連項目:
-
getClassLoaderName
public String getClassLoaderName()このスタック・トレース要素で表される実行ポイントを含むクラスのクラス・ローダーの名前を返します。- 戻り値:
- このスタック・トレース要素で表される実行ポイントを含むクラスのクラス・ローダーの名前。クラス・ローダーに名前が付けられていない場合は
null。 - 導入されたバージョン:
- 9
- 関連項目:
-
getClassName
-
getMethodName
public String getMethodName()このスタック・トレース要素が表す実行ポイントを含むメソッドの名前を返します。 実行ポイントがインスタンスまたはクラス・イニシャライザに含まれている場合、このメソッドは、「Java Virtual Machine仕様」の3.9セクションに従って、適切な「特殊メソッド名」、"<init>"または"<clinit>"を返します。- 戻り値:
- このスタック・トレース要素が表す実行ポイントを含むメソッドの名前。
-
isNativeMethod
public boolean isNativeMethod()このスタック・トレース要素が表す実行ポイントを含むメソッドがネイティブ・メソッドの場合、trueを返します。- 戻り値:
- このスタック・トレース要素が表す実行ポイントを含むメソッドがネイティブ・メソッドの場合、
trueを返す。
-
toString
public String toString()このスタック・トレース要素の文字列表現を返します。- オーバーライド:
toString、クラスObject- APIのノート:
- この文字列の書式は実装によって異なります。一般的な例を、次に示します。
-
"
com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)" - 次の説明を参照してください。 -
"
com.foo.loader/foo@9.0/com.foo.Main.run(Main.java)" - 明細番号は使用できません。 -
"
com.foo.loader/foo@9.0/com.foo.Main.run(Unknown Source)" - ファイル名も行番号も使用できません。 -
"
com.foo.loader/foo@9.0/com.foo.Main.run(Native Method)" - 実行ポイントを含むメソッドは、ネイティブ・メソッドです。 -
"
com.foo.loader//com.foo.bar.App.run(App.java:12)" - 実行ポイントのクラスは、クラス・ローダーcom.foo.loaderの名前のないモジュールで定義されます。 -
"
acme@2.1/org.acme.Lib.test(Lib.java:80)" - 実行ポイントのクラスは、アプリケーション・クラス・ローダーなどのビルトイン・クラス・ローダーによってロードされるacmeモジュールで定義されます。 -
"
MyClass.mash(MyClass.java:9)" -MyClassクラスはアプリケーション・クラス・パスにあります。
最初の例は、3つの要素で構成されるスタック・トレース要素を示しており、それぞれが
"/"で区切られ、その後にソース・ファイル名と実行ポイントを含むソース行の行番号が続きます。 最初の要素"com.foo.loader"は、クラス・ローダーの名前です。 2番目の要素"foo@9.0"は、モジュール名とバージョンです。 3番目の要素は、実行ポイントを含むメソッドです。"com.foo.Main""はバイナリ名、"run"はメソッドの名前です。 "Main.java"はソース・ファイル名で、"101"は行番号です。クラスが「名前のないモジュール」で定義されている場合、2番目の要素は"
com.foo.loader//com.foo.bar.App.run(App.java:12)"に示すように省略されます。クラス・ローダーが「ビルトイン・クラス・ローダー」であるか、または名前が付けられていない場合、最初の要素とそれに続く
"/"は"acme@2.1/org.acme.Lib.test(Lib.java:80)"に示すように省略されます。 最初の要素が省略され、モジュールが名前のないモジュールである場合、"MyClass.mash(MyClass.java:9)"に示すように、2番目の要素とその次の"/"も省略されます。toStringメソッドは、equalである2つのStackTraceElementインスタンス(たとえば、コンストラクタを介して作成されるインスタンスと、ThrowableまたはStackWalker.StackFrameから取得されるインスタンス)で2つの異なる値を返すことができます。この場合、実装では、返される文字列の一部の要素を省略できます。 -
"
- 戻り値:
- このオブジェクトの文字列表現
- 関連項目:
-
equals
public boolean equals(Object obj) 指定されたオブジェクトが、このインスタンスと同じ実行ポイントを表す、別のStackTraceElementインスタンスである場合、trueを返します。 2つのスタック・トレース要素aおよびbが等価になるのは、次の場合だけです。
ここで、equals(a.getClassLoaderName(), b.getClassLoaderName()) && equals(a.getModuleName(), b.getModuleName()) && equals(a.getModuleVersion(), b.getModuleVersion()) && equals(a.getClassName(), b.getClassName()) && equals(a.getMethodName(), b.getMethodName()) equals(a.getFileName(), b.getFileName()) && a.getLineNumber() == b.getLineNumber()equalsはObjects.equalsのセマンティックスを持ちます。 -
hashCode
-