Package java.lang


packagejava.lang
Provides classes that are fundamental to the design of the Java programming language. The most important classes areObject, which is the root of the class hierarchy, andClass, instances of which represent classes at run time.

Frequently it is necessary to represent a value of primitive type as if it were an object.Thewrapper classesBoolean,Byte,Character,Short,Integer,Long,Float, andDouble serve this purpose. An object of typeDouble, for example, contains a field whose type is double, representing that value in such a way that a reference to it can be stored in a variable of reference type. As discussed inThe Java Language Specification, the wrapper classes are involved in boxing (JLS5.1.7) and unboxing (JLS5.1.8) conversions. These classes provide a number of methods for converting among primitive values, as well as methods supporting such standard functionality asequals andhashCode. TheVoid class is a non-instantiable class that holds a reference to aClass object representing the type void.

The classMath provides commonly used mathematical functions such assine,cosine, andsquare root. The classesString,StringBuffer, andStringBuilder similarly provide commonly used operations on character strings.

ClassesClassLoader,Process,ProcessBuilder,Runtime, andSystem provide "system operations" that manage the dynamic loading of classes, creation of external processes, and host environment inquiries such as the time of day.

ClassThrowable encompasses objects that may be thrown by thethrow statement. Subclasses ofThrowable represent errors and exceptions.

Character Encodings

The specification of thejava.nio.charset.Charset class describes the naming conventions for character encodings as well as the set of standard encodings that must be supported by every implementation of the Java platform.
Since:
1.0
  • Related Packages
    Module
    Package
    Description
    Provides library support for the Java programming language annotation facility.
    Provides classfile parsing, generation, and transformation library.
    Classes and interfaces to representnominal descriptors for run-time entities such as classes or method handles, and classfile entities such as constant pool entries orinvokedynamic call sites.
    Provides low-level access to memory and functions outside the Java runtime.
    Provides services that allow Java programming language agents to instrument programs running on the Java Virtual Machine (JVM).
    Thejava.lang.invoke package provides low-level primitives for interacting with the Java Virtual Machine.
    Provides the management interfaces for monitoring and management of the Java virtual machine and other components in the Java runtime.
    Classes to support module descriptors and creating configurations of modules by means of resolution and service binding.
    Provides reference-object classes, which support a limited degree of interaction with the garbage collector.
    Provides classes and interfaces for obtaining reflective information about classes and objects.
    Thejava.lang.runtime package provides low-level runtime support for the Java language.
  • Class
    Description
    Thrown when an application tries to call an abstract method.
    An object to whichchar sequences and values can be appended.
    Thrown when an exceptional arithmetic condition has occurred.
    Thrown to indicate that an array has been accessed with an illegal index.
    Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.
    Thrown to indicate that an assertion has failed.
    An object that may hold resources (such as file or socket handles) until it is closed.
    TheBoolean class is thewrapper class for values of the primitive typeboolean.
    Thrown to indicate that aninvokedynamic instruction or a dynamic constant failed to resolve its bootstrap method and arguments, or forinvokedynamic instruction the bootstrap method has failed to provide acall site with atarget of the correctmethod type, or for a dynamic constant the bootstrap method has failed to provide a constant value of the required type.
    TheByte class is thewrapper class for values of the primitive typebyte.
    TheCharacter class is thewrapper class for values of the primitive typechar.
    Instances of this class represent particular subsets of the Unicode character set.
    A family of character subsets representing the character blocks in the Unicode specification.
    A family of character subsets representing the character scripts defined in theUnicode Standard Annex #24: Script Names.
    ACharSequence is a readable sequence ofchar values.
    Instances of the classClass represent classes and interfaces in a running Java application.
    Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.
    Thrown when the Java Virtual Machine detects a circularity in the superclass hierarchy of a class being loaded.
    Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.
    A class loader is an object that is responsible for loading classes.
    Thrown when an application tries to load in a class through its string name using: TheforName method in classClass.
    Lazily associate a computed value with (potentially) every type.
    A class implements theCloneable interface to indicate to theObject.clone() method that it is legal for that method to make a field-for-field copy of instances of that class.
    Thrown to indicate that theclone method in classObject has been called to clone an object, but that the object's class does not implement theCloneable interface.
    This interface imposes a total ordering on the objects of each class that implements it.
    A program element annotated@Deprecated is one that programmers are discouraged from using.
    TheDouble class is thewrapper class for values of the primitive typedouble.
    Enum<E extendsEnum<E>>
    This is the common base class of all Java language enumeration classes.
    Enum.EnumDesc<E extendsEnum<E>>
    Anominal descriptor for anenum constant.
    Thrown when an application tries to access an enum constant by name and the enum type contains no constant with the specified name.
    AnError is a subclass ofThrowable that indicates serious problems that a reasonable application should not try to catch.
    The classException and its subclasses are a form ofThrowable that indicates conditions that a reasonable application might want to catch.
    Signals that an unexpected exception has occurred in a static initializer.
    TheFloat class is thewrapper class for values of the primitive typefloat.
    An informative annotation type used to indicate that an interface type declaration is intended to be afunctional interface as defined by the Java Language Specification.
    Thrown if an application attempts to access or modify a field, or to call a method that it does not have access to.
    An IllegalAccessException is thrown when an application tries to reflectively create an instance (other than an array), set or get a field, or invoke a method, but the currently executing method does not have access to the definition of the specified class, field, method or constructor.
    Thrown to indicate that a method has been passed an illegal or inappropriate argument.
    Thrown to indicate that a method has been called by an inappropriate caller.
    Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads waiting on an object's monitor without owning the specified monitor.
    Signals that a method has been invoked at an illegal or inappropriate time.
    Thrown to indicate that a thread is not in an appropriate state for the requested operation.
    Thrown when an incompatible class change has occurred to some class definition.
    Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range.
    This class extendsThreadLocal to provide inheritance of values from parent thread to child thread: when a child thread is created, the child receives initial values for all inheritable thread-local variables for which the parent has values.
    Thrown when an application tries to use the Javanew construct to instantiate an abstract class or an interface.
    Thrown when an application tries to create an instance of a class using thenewInstance method in classClass, but the specified class object cannot be instantiated.
    TheInteger class is thewrapper class for values of the primitive typeint.
    Thrown to indicate some unexpected internal error has occurred in the Java Virtual Machine.
    Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or during the activity.
    Implementing this interface allows an object to be the target of the enhancedfor statement (sometimes called the "for-each loop" statement).
    Thrown when creating amodule layer fails.
    Subclasses ofLinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilation of the former class.
    TheLong class is thewrapper class for values of the primitive typelong.
    Thrown to indicate an unexpected failure in pattern matching.
    The classMath contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.
    Represents a run-time module, eithernamed or unnamed.
    A layer of modules in the Java virtual machine.
    Controls a module layer.
    Thrown if an application tries to create an array with negative size.
    Thrown if the Java Virtual Machine or aClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using thenew expression) and no definition of the class could be found.
    Thrown if an application tries to access or modify a specified field of an object, and that object no longer has that field.
    Signals that the class doesn't have a field of a specified name.
    Thrown if an application tries to call a specified method of a class (either static or instance), and that class no longer has a definition of that method.
    Thrown when a particular method cannot be found.
    Thrown when an application attempts to usenull in a case where an object is required.
    The abstract classNumber is the superclass of platform classes representing numeric values that are convertible to the primitive typesbyte,double,float, int,long, andshort.
    Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.
    ClassObject is the root of the class hierarchy.
    Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.
    Indicates that a method declaration is intended to override a method declaration in a supertype.
    Represents metadata about a run-time package associated with a class loader.
    Process provides control of native processes started by ProcessBuilder.start and Runtime.exec.
    This class is used to create operating system processes.
    Represents a source of subprocess input or a destination of subprocess output.
    ProcessHandle identifies and provides control of native processes.
    Information snapshot about the process.
    AReadable is a source of characters.
    This is the common base class of all Java language record classes.
    Common superclass of exceptions thrown by reflective operations in core reflection.
    Represents an operation that does not return a result.
    Every Java application has a single instance of classRuntime that allows the application to interface with the environment in which the application is running.
    A representation of a version string for an implementation of the Java SE Platform.
    RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.
    This class is for runtime permissions.
    A programmer assertion that the body of the annotated method or constructor does not perform potentially unsafe operations on its varargs parameter.
    Preview.
    A value that may be safely and efficiently shared to methods without using method parameters.
    Preview.
    An operation that returns a result and may throw an exception.
    Preview.
    A mapping of scoped values, askeys, to values.
    Thrown to indicate a security violation.
    Deprecated, for removal: This API element is subject to removal in a future version.
    There is no replacement for this class.
    TheShort class is thewrapper class for values of the primitive typeshort.
    Thrown when a stack overflow occurs because an application recurses too deeply.
    An element in a stack trace, as returned byThrowable.getStackTrace().
    A stack walker.
    Stack walker option to configure thestack frame information obtained by aStackWalker.
    AStackFrame object represents a method invocation returned byStackWalker.
    The classStrictMath contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.
    TheString class represents character strings.
    A thread-safe, mutable sequence of characters.
    A mutable sequence of characters.
    Thrown byString methods to indicate that an index is either negative or greater than the size of the string.
    Indicates the warnings to be suppressed at compile time in the annotated element, and in all elements contained in the annotated element.
    TheSystem class contains several useful class fields and methods.
    System.Logger instances log messages that will be routed to the underlying logging framework theLoggerFinder uses.
    Systemloggers levels.
    TheLoggerFinder service is responsible for creating, managing, and configuring loggers to the underlying framework it uses.
    Athread is a thread of execution in a program.
    A builder forThread andThreadFactory objects.
    A builder for creating a platformThread orThreadFactory that creates platform threads.
    A builder for creating a virtualThread orThreadFactory that creates virtual threads.
    A thread state.
    Interface for handlers invoked when aThread abruptly terminates due to an uncaught exception.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Thread.stop() was originally specified to "stop" a victim thread by causing the victim thread to throw aThreadDeath.
    A thread group represents a set of threads.
    This class provides thread-local variables.
    TheThrowable class is the superclass of all errors and exceptions in the Java language.
    Thrown when an application tries to access a type using a string representing the type's name, but no definition for the type with the specified name can be found.
    Thrown when an unknown but serious exception has occurred in the Java Virtual Machine.
    Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declarednative.
    Thrown when the Java Virtual Machine attempts to read a class file and determines that the major and minor version numbers in the file are not supported.
    Thrown to indicate that the requested operation is not supported.
    Thrown when the "verifier" detects that a class file, though well formed, contains some sort of internal inconsistency or security problem.
    Thrown to indicate that the Java Virtual Machine is broken or has run out of resources necessary for it to continue operating.
    TheVoid class is an uninstantiable placeholder class to hold a reference to theClass object representing the Java keyword void.
    Thrown to indicate that a method has been called on the wrong thread.