public final class

StackTraceElement

extends Object
implements Serializable
java.lang.Object
   ↳ java.lang.StackTraceElement

Class Overview

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

Summary

Public Constructors
StackTraceElement(String cls, String method, String file, int line)
Constructs a new StackTraceElement for a specified execution point.
Public Methods
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.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public StackTraceElement (String cls, String method, String file, int line)

Since: API Level 1

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.

Public Methods

public boolean equals (Object obj)

Since: API Level 1

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.

Parameters
obj the object to compare this instance with.
Returns
  • true if the specified object is equal to this StackTraceElement; false otherwise.
See Also

public String getClassName ()

Since: API Level 1

Returns the fully qualified name of the class belonging to this StackTraceElement.

Returns
  • the fully qualified type name of the class

public String getFileName ()

Since: API Level 1

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.

public int getLineNumber ()

Since: API Level 1

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.

public String getMethodName ()

Since: API Level 1

Returns the name of the method belonging to this StackTraceElement.

Returns
  • the name of the method, or "" if this information is not available.

public int hashCode ()

Since: API Level 1

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Returns
  • this object's hash code.

public boolean isNativeMethod ()

Since: API Level 1

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.

public String toString ()

Since: API Level 1

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 simply concatenates the class name, the '@' sign and a hexadecimal representation of the object's hashCode(), that is, it is equivalent to the following expression:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
  • a printable representation of this object.