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
、クラス: Object
Throwable.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
、クラス: Object
obj
- スタック・トレース要素と比較されるオブジェクト。StackTraceElement
である場合、trueを返す。Object.hashCode()
、HashMap
public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.