JavaTM 2 Platform
Std. Ed. v1.3

パッケージ java.lang

Java プログラム言語の設計にあたり基本的なクラスを提供します。

参照:
          説明

インタフェースの概要
Cloneable Object.clone() メソッドに対して、そのメソッドがそのクラスのインスタンスのフィールド対フィールドのコピーを正当に作成できることを示すために、Cloneable インタフェースを実装したクラスです。
Comparable このインタフェースを実装する各クラスのオブジェクトに全体順序付けを強制します。
Runnable インスタンスを 1 つのスレッドで実行するすべてのクラスでは、Runnable インタフェースを実装する必要があります。
 

クラスの概要
Boolean Boolean クラスは、プリミティブ型 boolean の値をオブジェクトにラップします。
Byte Byte クラスは、byte 値の標準ラッパーです。
Character Character クラスは、プリミティブ型 char の値をオブジェクトにラップします。
Character.Subset このクラスのインスタンスは、Unicode 文字セットの特定のサブセットを表します。
Character.UnicodeBlock Unicode 2.0 仕様で定義されている文字ブロックを表す文字サブセットのファミリです。
Class クラス Class のインスタンスは、実行中の Java アプリケーションのクラスおよびインタフェースを表します。
ClassLoader ClassLoader クラスは抽象クラスです。
Compiler Compiler クラスは、Java からネイティブコードへのコンパイラおよび関連サービスをサポートします。
Double Double クラスは、プリミティブ型 double の値をオブジェクトにラップします。
Float Float クラスは、プリミティブ型 float の値をオブジェクト内にラップします。
InheritableThreadLocal このクラスは、親スレッドから子スレッドへの値の継承を提供するために、ThreadLocal を拡張します。
Integer Integer クラスは、プリミティブ型 int の値をオブジェクト内にラップします。
Long Long クラスは、プリミティブ型 long の値をオブジェクト内にラップします。
Math Math クラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含んでいます。
Number 抽象クラス Number は、クラス ByteDoubleFloatIntegerLong、および Short のスーパークラスです。
Object Object クラスは、クラス階層のルートです。
Package Package オブジェクトは、Java パッケージの実装および仕様についてのバージョン情報を保持します。
Process Runtime.exec メソッドは、ネイティブなプロセスを作成し、Process のサブクラスのインスタンスを返します。
Runtime Java アプリケーションはすべて、Runtime クラスの単一のインスタンスを持ちます。
RuntimePermission このクラスは、実行時のアクセス権に関連します。
SecurityManager セキュリティマネージャは、アプリケーションでセキュリティポリシーを実装できるようにするクラスです。
Short Short クラスは short 値の標準ラッパーです。
StrictMath StrictMath クラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含んでいます。
String String クラスは文字列を表します。
StringBuffer 文字列バッファは可変の文字列を実装します。
System System クラスには有用なクラスフィールドおよびメソッドがあります。
Thread スレッドとは、プログラム内での実行のスレッドのことです。
ThreadGroup スレッドグループは、スレッドの集合を表します。
ThreadLocal このクラスは ThreadLocal 変数を提供します。
Throwable Throwable クラスは、Java 言語のすべてのエラーと例外のスーパークラスです。
Void Void クラスは、インスタンスを生成できないプレースホルダーとしてのクラスであり、Java のプリミティブ型 void を表す Class オブジェクトへの参照を保持するのに使用されます。
 

例外の概要
ArithmeticException 算術計算で例外的条件が発生した場合にスローされます。
ArrayIndexOutOfBoundsException 不正なインデックスを使って配列がアクセスされたことを示すためにスローされます。
ArrayStoreException 不正な型のオブジェクトをオブジェクトの配列に格納しようとしたことを示すためにスローされます。
ClassCastException あるオブジェクトを継承関係にないクラスにキャストしようとしたことを示すためにスローされます。
ClassNotFoundException アプリケーションが、クラスの文字列名を使用して次のメソッドでロードしようとしたが、指定された名前のクラスの定義が見つからなかった場合にスローされます。
CloneNotSupportedException オブジェクトを複製するために Object クラスの clone メソッドが呼び出されたが、そのオブジェクトのクラスが Cloneable インタフェースを実装していないことを示すためにスローされます。
Exception Exception クラスとそのサブクラスは、通常のアプリケーションでキャッチされる可能性のある状態を示す Throwable の形式の 1 つです。
IllegalAccessException アプリケーションがクラスをロードしようとしたとき、そのクラスが public でなかったり、別のパッケージに入っていたりするために、実行中のメソッドが指定されたクラスの定義にアクセスできない場合にスローされる例外です。
IllegalArgumentException 不正な引数、または不適切な引数をメソッドに渡したことを示すためにスローされます。
IllegalMonitorStateException 所定のモニターを持たないスレッドがオブジェクトのモニターで待つことを試みたこと、あるいはほかのスレッドが所定のモニターを持たずにオブジェクトのモニターで待つことを通知したことを示すためにスローされます。
IllegalStateException 不正なとき、または不適切なときにメソッドが呼び出されたことを示します。
IllegalThreadStateException 要求されたオペレーションに対してスレッドの状態が不適切であることを示すためにスローされます。
IndexOutOfBoundsException ある種のインデックス (配列、文字列、ベクタなど) が範囲外であることを示すためにスローされます。
InstantiationException アプリケーションが Class クラスの newInstance メソッドを使ってクラスのインスタンスを生成しようとしたときに、クラスがインタフェースまたは abstract クラスであるために指定されたオブジェクトのインスタンスを生成できない場合にスローされます。
InterruptedException あるスレッドが長い間の待ち状態、休止状態、または一時停止の状態であるとき、他のスレッドが Thread クラスの interrupt メソッドを使ってこの状態に割り込みをかけた場合にスローされます。
NegativeArraySizeException 負のサイズを持った配列をアプリケーションが作成しようとした場合にスローされます。
NoSuchFieldException 指定された名前のフィールドがクラスにはないことを通知します。
NoSuchMethodException 特定のメソッドが見つからない場合にスローされます。
NullPointerException オブジェクトが必要な場合に、アプリケーションが null を使おうとするとスローされます。
NumberFormatException アプリケーションが文字列を数値型に変換しようとしたとき、文字列の形式が正しくない場合にスローされます。
RuntimeException RuntimeException は、Java Virtual Machine の通常の処理でスローすることができる各種の例外のスーパークラスです。
SecurityException セキュリティマネージャによってスローされ、セキュリティ違反を示します。
StringIndexOutOfBoundsException String クラスの charAt メソッド、およびその他の String クラスのメソッドによって、インデックスが負の値であるか文字列のサイズ以上であることを示すためにスローされます。
UnsupportedOperationException 要求されたオペレーションがサポートされていないことを示すためにスローされます。
 

エラーの概要
AbstractMethodError アプリケーションが abstract メソッドを呼び出そうとした場合にスローされます。
ClassCircularityError クラスの初期化時にループが見つかった場合にスローされます。
ClassFormatError Java Virtual Machine がクラスファイルを読み込もうとして、ファイルが壊れていると判断した場合、またはクラスファイルとして解釈できない場合にスローされます。
Error ErrorThrowable のサブクラスで、通常のアプリケーションであればキャッチすべきではない重大な問題を示します。
ExceptionInInitializerError static 初期化子で予想外の例外が発生したことを通知します。
IllegalAccessError アクセスできないフィールドへのアクセスや変更、あるいはアクセスできないメソッドの呼び出しをアプリケーションが試みた場合にスローされます。
IncompatibleClassChangeError クラス定義に互換性のない変更があった場合にスローされます。
InstantiationError アプリケーションが Java の new 構文を使って abstract クラスやインタフェースのインスタンスを生成しようとしたときにスローされます。
InternalError Java Virtual Machine 内で予期しない内部エラーが発生したことを示すためにスローされます。
LinkageError LinkageError のサブクラスは、あるクラスが別のクラスに依存関係がある場合に、前者のクラスをコンパイルしたあと、後者のクラスへの変更によって互換性が失われたことを示します。
NoClassDefFoundError 通常のメソッド呼び出し、あるいは new 式を使った新しいインスタンスの生成で Java Virtual Machine またはクラスローダがクラス定義をロードしようとしたとき、クラス定義が見からない場合にスローされます。
NoSuchFieldError オブジェクトの指定されたフィールドにアプリケーションがアクセス、または変更を試みたとき、オブジェクトにそのフィールドがない場合にスローされます。
NoSuchMethodError あるクラスの特定のメソッド (static メソッド、またはインスタンスメソッド) をアプリケーションが呼び出そうとしたとき、すでにそのクラスには呼び出されたメソッドの定義がない場合にスローされます。
OutOfMemoryError メモリ不足のために Java Virtual Machine がオブジェクトを割り当てることができず、ガベージコレクタによっても使用可能なメモリをこれ以上確保できない場合にスローされます。
StackOverflowError アプリケーションでの再帰の回数が多すぎてスタックオーバーフローが起こる場合にスローされます。
ThreadDeath ThreadDeath のインスタンスは、Thread クラスの引数なしの stop メソッドが呼び出されると、対象となるスレッド内でスローされます。
UnknownError 未知であるが重大な例外が Java Virtual Machine で発生した場合にスローされます。
UnsatisfiedLinkError Java Virtual Machine が、native と宣言されたメソッドの適切なネイティブ言語の定義を見つけることができない場合にスローされます。
UnsupportedClassVersionError Java Virtual Machine が、クラスファイルの読み込み中に、そのファイルのメジャーバージョン番号とマイナーバージョン番号がサポートされていないと判定した場合にスローされます。
VerifyError クラスファイルが適切な形式でも、ある種の内部矛盾またはセキュリティ上の問題があることを「ベリファイア (verifier)」が検出した場合にスローされます。
VirtualMachineError Java Virtual Machine が壊れているか、または動作を継続するのに必要なリソースが足りなくなったことを示すためにスローされます。
 

パッケージ java.lang の説明

Java プログラム言語の設計にあたり基本的なクラスを提供します。もっとも重要なクラスは クラス階層ルート Object と、実行時のクラスを表すインスタンス Class です

プリミティブ型の値をオブジェクトのように表す場合にはよく必要になります。ラッパークラス BooleanCharacterIntegerLongFloat、および Double がこの目的に使用されます。たとえば、Double 型のオブジェクトは double 型のフィールドを含み、参照型の変数に格納される先への参照といった方法で値を表します。このクラスはプリミティブ値の間で変換するメソッドを提供すると同時に、equals および hashCode などの標準メソッドをサポートします

クラス Math は、正接 (サイン)、余弦 (コサイン)、平方根といった計算でよく使用される関数を提供します。クラス String および StringBuffer は文字列でよく使用されるオペレーションを提供します

クラス ClassLoaderProcessRuntimeSecurityManager、および System は、動的なクラスのロード、外部プロセスの作成、日付などのホスト環境の照会、およびセキュリティポリシーの実施を管理する「システムオペレーション」を提供します

クラス Throwable は throw 文 (§14.16) によってスローされるオブジェクトを包含します。Throwable のサブクラスはエラーと例外を表します

パッケージの仕様

文字エンコーディング

java.lang および java.io パッケージのさまざまなコンストラクタおよびメソッドは、未変換の 8 ビットバイトと 16 ビット Unicode 文字の間で変換するときに使用する文字エンコーディングを指定する文字列引数を受け入れます。そのようなエンコーディングには次の文字で構成される文字列で名前を付けます。 エンコーディング名は文字または数字で始めます。空の文字列は有効なエンコーディング名ではありません

エンコーディングには 2 つ以上の名前を付けられます。エンコーディング名の 1 つを「正式な名前」とします。エンコーディングの正式な名前は InputStreamReader および OutputStreamWriter クラスの getEncoding メソッドが返す名前です

エンコーディング名は通常 RFC2278: IANA Charset Registration Procedures の規則に準拠します。IANA Charset Registry に記載されているエンコーディングリストを Java プラットフォームの実装がサポートする場合は、名前の 1 つはレジストリにある名前である必要があります。エンコーディングの多くはレジストリに 2 つ以上の名前があり、その場合レジストリは名前の 1 つを「MIME 優先」と識別します。Java 優先プラットフォームの実装はサポートするエンコーディングがある場合は、MIME 優先のレジストリ名をサポートする必要があります。便宜上、他のレジストリ名を追加サポートできます。IANA MIME 優先のエンコーディング名がある場合、また必ずしもそうではないが多くの場合それが正式な名前です。ただし、必ずしも必要ではありません。IANA 規則に準じて、IANA レジストリ名からエンコーディングへのマッピングでは大文字と小文字が区別されません

Java プラットフォームの実装はすべて次の文字エンコーディングをサポートする必要があります。他のエンコーディングがサポートされているかどうかを調べる場合は、実装のリリースノートを参照してください

US-ASCII 7 ビット ASCII (ISO646-US/Unicode 文字セットの Basic Latin ブロック)
ISO-8859-1   ISO Latin Alphabet No. 1 (ISO-LATIN-1)
UTF-8 8 ビット Unicode 変換形式
UTF-16BE 16 ビット Unicode 変換形式、ビッグエンディアンバイト順序
UTF-16BE 16 ビット Unicode 変換形式、リトルエンディアンバイト順序
UTF-16 16 ビット Unicode 変換形式、必須初期バイト順序マークで指定したバイト順序 (入力の場合はいずれの順序も受け入れ、出力はビッグエンディアン順序)
さまざまな Unicode 変換形式は The Unicode Standard および Unicode FAQ に詳細が記載されています

Java Virtual Machine の各インスタンスにはデフォルト文字エンコーディングがあります。デフォルトエンコーディングは、Virtual Machine の起動時に、通常はロケールおよび基本オペレーティングシステムが使用するエンコーディングによって決まります

導入されたバージョン:
JDK1.0

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.