Javaには標準入出力はもちろん、HTTPリクエストなどのネットワーク機能やSQL、リストやマップ、セットといったコレクション、日付や時間を扱うAPIまで存在します。 本稿ではそれらの中からほんの一部を切り出して使用例とともに紹介します。

文字列編集

String編集

Stringとは、java.langパッケージに属するクラスです。 二重引用符で囲まれたリテラルは、全てこのクラスのインスタンスです。 また、staticメソッドとして、文字列のフォーマットや文字列の結合、プリミティブ型を文字列に変換するメソッドを持ちます。

StringBuffer / StringBuilder編集

StringBufferとStringBuilderは、どちらもjava.langパッケージに属するクラスです。 このクラスは、実行時まで中身が決まらない[注 1]文字列の結合を行い、あとでその結果を取得したいときに使います。 StringBufferはJava 1.0から存在しますが、StringBuilderはJava 5から登場したクラスです。2つのクラスの違いとしては、StringBufferが結合時ロックをかけるのに対して、StringBuilderはかけないことが挙げられます。 結合の結果を得るためには、toString()メソッドを呼び出します。ただし、CharSequence型が許可されている場合には、要求元にインスタンスを直接渡しても構いません。[注 2]

日付・時間編集

Date編集

Dateは、java.langパッケージに属するクラスです。 このクラスは、年月日と時分秒、そしてミリ秒を保持します。 ただし、うるう秒を追跡できない可能性がある[注 3]のと、世界協定時を反映することを意図していること、また月が1から12ではなく0から11までということがあり、実際に日付を扱うためには少し不便でした。 また、このクラスはJava 1.1までは日付を足したり引いたりすることが可能でしたが、Java 1.2からは非推奨となっています。

Calendar編集

Calendarは、java.langパッケージに属するクラスです。 このクラスは、特定の暦の実装が子クラスで提供されることを期待する抽象クラスです。 現在のCalendarを取得するためには、Calendar.getInstance()を使用します。

コレクション編集

コレクションは、Java Collection Frameworkの中に含まれて、Java 1.2から登場しました。以下のクラスはすべて、java.utilパッケージに属しています。

Collection編集

このクラスは、コレクションと呼ばれる、任意の要素を任意個[注 4]格納するコンテナのインターフェースを規定します。

List編集

このクラスは、要素に順序が有り、重複を許すコレクションを表現します。

Set編集

このクラスは、要素の順序を規定せず、重複を許さないコレクションを表現します。

Map編集

このクラスは、w:連想配列のような、キーと値が一対一で結び付けられているコレクションを表現します。

注釈編集

  1. ^ Oracle製のjavacでは文字列リテラル同士、すなわちコンパイル時に中身がわかっているString同士の足し算は一つの文字列リテラルにまとめられる。そのため、そのような用途にこのクラスを使うのは冗長であるばかりか、メモリにも優しくない。
  2. ^ StringBufferとStringBuilderのどちらもCharSequenceを実装しているため
  3. ^ 実装依存
  4. ^ 0から2147483647個