- すべての実装されたインタフェース:
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
このスタック・トレース要素が表す実行ポイントを含むソース・ファイルの行番号を返します。このスタック・トレース要素が表す実行ポイントを含むメソッドの名前を返します。このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール名を返します。このスタック・トレース要素で表される実行ポイントを含むモジュールのモジュール・バージョンを返します。int
hashCode()
このスタック・トレース要素のハッシュ・コード値を返します。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
- スタック・トレースによって表される実行ポイントを含むクラスのクラス・ローダーが指定されている場合は、クラス・ローダー名。そうでなければnull
moduleName
- スタック・トレースによって表される実行ポイントを含むクラスが名前付きモジュールにある場合、モジュール名。そうでなければnull
moduleVersion
- スタック・トレースによって表される実行ポイントを含むクラスがバージョンを有する名前付きモジュールにある場合、モジュール・バージョン。そうでなければnull
declaringClass
- スタック・トレース要素で表される実行ポイントを含むクラスの「バイナリ名」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
-