Overview | Package | Class | Tree | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package java.lang

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

See:
Description

Interface Summary
Cloneable | A class implements the `Cloneable` interface to indicate to the `Object.clone()` method that it is legal for that method to make a field-for-field copy of instances 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
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`.
Object | Class `Object` is the root of the class hierarchy.
String | The `String` class represents character strings.
System | The `System` class contains several useful class fields and methods.
Thread | A thread is a thread of execution in a program.
Throwable | The `Throwable` class is the superclass of all errors and exceptions in the Java language.

Exception Summary
ArrayIndexOutOfBoundsException | Thrown to indicate that a method has been passed an illegal or inappropriate argument.
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 | The class `Exception` and its subclasses are a form of `Throwable` that indicates conditions that a reasonable application might want to catch.
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.
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`.
RuntimeException | `RuntimeException` is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.

Error Summary
Error | An `Error` is a subclass of `Throwable` that indicates serious problems that a reasonable application should not try to catch.

## 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:

- The uppercase letters `'A'` through `'Z'` (`'\u0041'` through `'\u005a'`),
- The lowercase letters `'a'` through `'z'` (`'\u0061'` through `'\u007a'`),
- The digits `'0'` through `'9'` (`'\u0030'` through `'\u0039'`),
- The dash character `'-'` (`'\u002d'`, HYPHEN-MINUS),
- The colon character `':'` (`'\u003a'`, COLON), and
- The underscore character `'_'` (`'\u005f'`, LOW LINE).

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

Overview | Package | Class | Tree | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES