StackTraceElement
java.lang.Object
|—java.lang.StackTraceElement
public final class StackTraceElement
extends Object
implements Serializable
堆栈跟踪中的一个元素,由 Throwable#getStackTrace() 返回。 每个元素代表一个堆栈帧。 除了栈顶的栈帧外,所有栈帧都代表一个方法调用。 堆栈顶部的帧表示生成堆栈跟踪的执行点。 通常,这是创建对应于堆栈跟踪的 throwable 的点。
构造函数摘要
构造函数描述
StackTraceElement(StringdeclaringClass,StringmethodName,StringfileName,intlineNumber)
创建表示指定执行点的堆栈跟踪元素。
方法总结
修饰符和类型方法描述
boolean
equals(Objectobj)
如果指定对象是另一个StackTraceElement实例,表示与此实例相同的执行点,则返回true。
String
getClassName()
返回包含此堆栈跟踪元素表示的执行点的类的完全限定名称。
String
getFileName()
返回包含此堆栈跟踪元素表示的执行点的源文件的名称。
int
getLineNumber()
返回包含此堆栈跟踪元素表示的执行点的源行的行号。
String
getMethodName()
返回包含此堆栈跟踪元素表示的执行点的方法的名称。
int
hashCode()
返回此堆栈跟踪元素的哈希码值。
boolean
isNativeMethod()
如果包含此堆栈跟踪元素表示的执行点的方法是本机方法,则返回true。
String
toString()
返回此堆栈跟踪元素的字符串表示形式。
从类 java.lang.Object 继承的方法
clone,finalize,getClass,notify,notifyAll,wait,wait,wait
构造函数详细信息
StackTraceElement
public StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)
创建表示指定执行点的堆栈跟踪元素。
参数:
参数名称参数描述
declaringClass
包含堆栈跟踪元素表示的执行点的类的完全限定名称
methodName
包含由堆栈跟踪元素表示的执行点的方法的名称
fileName
包含堆栈跟踪元素表示的执行点的文件的名称,如果此信息不可用,则返回null
lineNumber
包含此堆栈跟踪元素表示的执行点的源行的行号,如果此信息不可用,则为负数。值为-2表示包含执行点的方法是本机方法
Throws:
Throw名称Throw描述
NullPointerException
如果declaringClass或methodName为null
方法详情
getFileName
public String getFileName()
返回包含此堆栈跟踪元素表示的执行点的源文件的名称。 通常,这对应于相关类文件的 SourceFile 属性(根据 Java 虚拟机规范,第 4.7.7 节)。 在某些系统中,名称可能指代文件以外的某些源代码单元,例如源存储库中的条目。
返回:
包含此堆栈跟踪元素表示的执行点的文件的名称,如果此信息不可用,则为 null。
getLineNumber
public int getLineNumber()
返回包含此堆栈跟踪元素表示的执行点的源行的行号。 通常,这是从相关类文件的 LineNumberTable 属性派生的(根据 Java 虚拟机规范,第 4.7.8 节)。
返回:
包含此堆栈跟踪元素表示的执行点的源行的行号,如果此信息不可用,则为负数。
getClassName
public String getClassName()
返回包含此堆栈跟踪元素表示的执行点的类的完全限定名称。
返回:
包含此堆栈跟踪元素表示的执行点的类的完全限定名称。
getMethodName
public String getMethodName()
返回包含此堆栈跟踪元素表示的执行点的方法的名称。 如果执行点包含在实例或类初始化程序中,则此方法将根据 Java 虚拟机规范的第 3.9 节返回适当的特殊方法名称, 或 。
返回:
包含此堆栈跟踪元素表示的执行点的方法的名称。
isNativeMethod
public boolean isNativeMethod()
如果包含此堆栈跟踪元素表示的执行点的方法是本机方法,则返回 true。
返回:
如果包含此堆栈跟踪元素表示的执行点的方法是本机方法,则为 true。
toString
public String toString()
返回此堆栈跟踪元素的字符串表示形式。此字符串的格式取决于实现,但以下示例可被视为典型:
覆盖:
类 Object 中的 toString
返回:
对象的字符串表示形式。
equals
public boolean equals(Object obj)
如果指定对象是另一个 StackTraceElement 实例,表示与此实例相同的执行点,则返回 true。 两个堆栈跟踪元素 a 和 b 相等当且仅当:
equals(a.getFileName(), b.getFileName()) &&
a.getLineNumber() == b.getLineNumber()) &&
equals(a.getClassName(), b.getClassName()) &&
equals(a.getMethodName(), b.getMethodName())
其中 equals 具有 Objects.equals 的语义。
覆盖:
类 Object 中的等于
参数:
参数名称参数描述
obj
要与此堆栈跟踪元素进行比较的对象。
返回:
如果指定对象是另一个 StackTraceElement 实例,则表示与此实例相同的执行点,则为 true。
hashCode
public int hashCode()
返回此堆栈跟踪元素的哈希码值。
覆盖:
类 Object 中的 hashCode
返回:
此对象的哈希码值。