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, 2013, Oracle and/or its affiliates. All rights reserved.