Package java.lang

Class StackTraceElement

java.lang.Object
java.lang.StackTraceElement
All Implemented Interfaces:
Serializable

public final class StackTraceElement
extends Object
implements Serializable
A representation of a single stack frame. Arrays of StackTraceElement are stored in Throwable objects to represent the whole state of the call stack at the time a Throwable gets thrown.
See Also:
Throwable.getStackTrace(), Serialized Form
  • Constructor Summary

    Constructors
    Constructor Description
    StackTraceElement​(String cls, String method, String file, int line)
    Constructs a new StackTraceElement for a specified execution point.
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(Object obj)
    Compares this instance with the specified object and indicates if they are equal.
    String getClassName()
    Returns the fully qualified name of the class belonging to this StackTraceElement.
    String getFileName()
    Returns the name of the Java source file containing class belonging to this StackTraceElement.
    int getLineNumber()
    Returns the line number in the source for the class belonging to this StackTraceElement.
    String getMethodName()
    Returns the name of the method belonging to this StackTraceElement.
    int hashCode()
    Returns an integer hash code for this object.
    boolean isNativeMethod()
    Indicates if the method name returned by getMethodName() is implemented as a native method.
    String toString()
    Returns a string containing a concise, human-readable description of this object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • StackTraceElement

      public StackTraceElement​(String cls, String method, String file, int line)
      Constructs a new StackTraceElement for a specified execution point.
      Parameters:
      cls - the fully qualified name of the class where execution is at.
      method - the name of the method where execution is at.
      file - The name of the file where execution is at or null.
      line - the line of the file where execution is at, a negative number if unknown or -2 if the execution is in a native method.
      Throws:
      NullPointerException - if cls or method is null.
  • Method Details

    • equals

      public boolean equals​(Object obj)
      Compares this instance with the specified object and indicates if they are equal. In order to be equal, the following conditions must be fulfilled:
      • obj must be a stack trace element,
      • the method names of this stack trace element and of obj must not be null,
      • the class, method and file names as well as the line number of this stack trace element and of obj must be equal.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare this instance with.
      Returns:
      true if the specified object is equal to this StackTraceElement; false otherwise.
      See Also:
      hashCode()
    • getClassName

      public String getClassName()
      Returns the fully qualified name of the class belonging to this StackTraceElement.
      Returns:
      the fully qualified type name of the class
    • getFileName

      public String getFileName()
      Returns the name of the Java source file containing class belonging to this StackTraceElement.
      Returns:
      the name of the file, or null if this information is not available.
    • getLineNumber

      public int getLineNumber()
      Returns the line number in the source for the class belonging to this StackTraceElement.
      Returns:
      the line number, or a negative number if this information is not available.
    • getMethodName

      public String getMethodName()
      Returns the name of the method belonging to this StackTraceElement.
      Returns:
      the name of the method, or "" if this information is not available.
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

      Note that hash values must not change over time unless information used in equals comparisons also changes.

      See Writing a correct hashCode method if you intend implementing your own hashCode method.

      Overrides:
      hashCode in class Object
      Returns:
      this object's hash code.
      See Also:
      Object.equals(java.lang.Object)
    • isNativeMethod

      public boolean isNativeMethod()
      Indicates if the method name returned by getMethodName() is implemented as a native method.
      Returns:
      true if the method in which this stack trace element is executing is a native method; false otherwise.
    • toString

      public String toString()
      Description copied from class: Object
      Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
         getClass().getName() + '@' + Integer.toHexString(hashCode())

      See Writing a useful toString method if you intend implementing your own toString method.

      Overrides:
      toString in class Object
      Returns:
      a printable representation of this object.