Package java.lang

Provides classes that are fundamental to the design of the Java programming language.

See:
          Description

Interface Summary
Cloneable All classes that wants use the method Object.clone() must implements the Cloneable interface to indicate that it is legal for that method to make a clone instance of that class.
Runnable The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread.
 

Class Summary
Character The Character class wraps a value of the primitive type char in an object.
Class This is the class representation of an object.
Double The Double class wraps a value of the primitive type double in an object.
Float The Float class wraps a value of primitive type float in an object.
Integer The Integer class provides several methods for converting an int to a String and a String to an int, as well as other constants and methods useful when dealing with an int.
Long The Long class provides several methods for converting a long to a String and a String to a long, as well as other constants and methods useful when dealing with a long.
Object Class Object is the root of the class hierarchy.
String The String class represents character strings.
StringBuffer Simplified StringBuffer
System  
Thread A thread is a thread of execution in a program.
Throwable Base class for exceptions and errors.
 

Exception Summary
ArithmeticException  
ArrayIndexOutOfBoundsException  
ArrayStoreException Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.
ClassCastException  
ClassNotFoundException  
CloneNotSupportedException Thrown to indicate that the clone method in class Object has been called to clone an object, but that the object's class does not implement the Cloneable interface.
Exception  
IllegalArgumentException Thrown to indicate that a method has been passed an illegal or inappropriate argument.
IllegalMonitorStateException 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.
IndexOutOfBoundsException 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.
InterruptedException Thrown when a thread is waiting, sleeping, or otherwise paused for a long time and another thread interrupts it using the interrupt method in class Thread.
NegativeArraySizeException Thrown if an application tries to create an array with negative size.
NullPointerException  
NumberFormatException 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.
RuntimeException  
 

Error Summary
Error  
OutOfMemoryError  
 

Package java.lang Description

Provides classes that are fundamental to the design of the Java programming language. The most important classes are Object, which is the root of the class hierarchy, and Class, 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. The wrapper classes Boolean, Character, Integer, Long, Float, and Double serve this purpose. An object of type Double, 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. These classes also provide a number of methods for converting among primitive values, as well as supporting such standard methods as equals and hashCode. The Void class is a non-instantiable class that holds a reference to a Class object represening the primitive type void.

The class Math provides commonly used mathematical functions such as sine, cosine, and square root. The classes String and StringBuffer similarly provide commonly used operations on character strings.

Classes ClassLoader, Process, Runtime, SecurityManager, and System provide "system operations" that manage the dynamic loading of classes, creation of external processes, host environment inquiries such as the time of day, and enforcement of security policies.

Class Throwable encompasses objects that may be thrown by the throw statement (§14.16). Subclasses of Throwable represent errors and exceptions.

Package Specification

Character Encodings

Various constructors and methods in the java.lang and java.io packages accept string arguments that specify the character encoding to be used when converting between raw eight-bit bytes and sixteen-bit Unicode characters. Such encodings are named by strings composed of the following characters: An encoding name must begin with either a letter or a digit. The empty string is not a legal encoding name.

An encoding may have more than one name. One of an encoding's names is considered to be its canonical name. The canonical name of an encoding is the name returned by the getEncoding methods of the InputStreamReader and OutputStreamWriter classes.

Encoding names generally follow the conventions documented in RFC2278: IANA Charset Registration Procedures. If an encoding listed in the IANA Charset Registry is supported by an implementation of the Java platform then one of its names must be the name listed in the registry. Many encodings are given more than one name in the registry, in which case the registry identifies one of the names as MIME-preferred. An implementation of the Java platform must support the MIME-preferred registry name for a supported encoding if there is one; for convenience it may additionally support other registry names. The IANA MIME-preferred name of an encoding, if there is one, is often, but not necessarily, its canonical name. Following IANA convention, the mapping from IANA registry names to encodings is not case-sensitive.

Every implementation of the Java platform is required to support the following character encodings. Consult the release documentation for your implementation to see if any other encodings are supported.

US-ASCII Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set
ISO-8859-1   ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
UTF-8 Eight-bit Unicode Transformation Format
UTF-16BE Sixteen-bit Unicode Transformation Format, big-endian byte order
UTF-16LE Sixteen-bit Unicode Transformation Format, little-endian byte order
UTF-16 Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output)
The various Unicode Transformation Formats are described in detail in The Unicode Standard and in the Unicode FAQ.

Every instance of the Java virtual machine has a default character encoding. The default encoding is determined during virtual-machine startup and typically depends upon the locale and encoding being used by the underlying operating system.

Since:
JDK1.0