文字列に関するクラス、
などは、java.lang.CharSequenceインターフェイスを実装したものになります。
| メソッド | 説明 | |
|---|---|---|
| char | charAt(int index) | 指定されたインデックス位置にあるchar値を返す |
| int | length() | この文字シーケンスの長さを返す |
| CharSequence | subSequence(int start, int end) | このシーケンスのサブシーケンスである新規CharSequenceを返す |
| String | toString() | このシーケンス内の文字を含む文字列を、このシーケンスと同じ順序で返す |
式において+演算子は、オペランドの1つがStringであれば文字列結合演算子とみなされます。そのとき一方がStringでなければ、それは暗黙的にStringに変換されます。
| メソッド | 説明 |
|---|---|
| equals() | この文字列と指定されたオブジェクトを比較する |
| equalsIgnoreCase() | この文字列と指定された文字列を、大文字と小文字を区別せずに比較する |
| contentEquals() | この文字列と指定されたシーケンスを比較する |
| compareTo() | この文字列と指定された文字列を、Unicode値に基づいて辞書的に比較する |
| regionMatches() | この文字列と指定された文字列の文字列領域を比較する |
文字列をbyte配列へ格納し、それをByteArrayInputStreamクラスから読み込ませることで、文字列をストリームに変換できます。
String str = "abc";
InputStream stream = new ByteArrayInputStream(str.getBytes("UTF-8"));
type conversion - How do I convert a String to an InputStream in Java? - Stack Overflow
Formatterクラスを使用します。
%[argument_index$][flags][width][.precision]conversion
| 書式 | 説明 | 必須 |
|---|---|---|
| 引数インデックス (argument_index) |
引数リスト内での引数の位置を示す。最初の引数は「1$」、2番目は「2$」のようになる。 | × |
| フラグ (flags) |
出力書式を変更する文字のセット。有効なフラグのセットは、変換によって異なる。 | × |
| 幅 (width) |
出力する最小文字数。 | × |
| 精度 (precision) |
文字数を制限するために通常使用される正の10進整数。その動作は変換によって異なる。 | × |
| 変換 (conversion) |
引数を書式設定する方法を示す。指定された引数で有効な変換セットは、引数のデータ型によって異なる。 | ○ |
| カテゴリ | 変換指定子 | 説明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 数値 | 整数 | d | 10進整数 | ||||||||
| o | 8進整数 | ||||||||||
| x、X | 16進整数 | ||||||||||
| 浮動小数点 | e、E | 浮動小数点表示形式の10進数 | |||||||||
| f | 10進数 | ||||||||||
| g、G | 四捨五入処理後の精度および値に応じて、浮動小数点表示形式または10進数 | ||||||||||
| a、A | 有効数字および指数を持つ浮動小数点数 | ||||||||||
| 文字 | c、C | Unicode文字 | |||||||||
| 一般 ※1 |
ブール値 | b、B |
|
||||||||
| ハッシュコード | h、H |
|
|||||||||
| 文字列 | s、S |
|
|||||||||
| 日付/時刻 | t、T | 日付および時刻変換文字用の接頭辞 | |||||||||
| カテゴリ | 変換指定子 | 説明 |
|---|---|---|
| パーセント | % | リテラル「%」 (\u0025) |
| 行区切り文字 | n | プラットフォーム固有の行区切り文字 |
| 変換指定子 | 説明 |
|---|---|
| H | 24時間制の時。必要に応じて0を先頭に追加し、2桁で表現する (00 - 23) |
| I | 12時間制の時。必要に応じて0を先頭に追加し、2桁で表現する (00 - 12) |
| k | 24時間制の時 (0 - 23) |
| l | 12時間制の時 (1 - 12) |
| M | 分。必要に応じて0を先頭に追加し、2桁で表現する (00 - 59) |
| S | 秒。必要に応じて0を先頭に追加し、2桁で表現する (00 - 60)。60はうるう年での秒のサポートに必要な特殊な値 |
| L | ミリ秒。必要に応じて0を先頭に追加し、3桁で表現する (000 - 999) |
| N | ナノ秒。必要に応じて0を先頭に追加し、9桁で表現する (000000000 - 999999999) |
| p | ロケールに特定の午前または午後の小文字 (amまたはpmなど) のマーカー。変換接頭辞のTを使用すると、結果は大文字で強制出力される |
| z | RFC 822に準拠した、GMTからの数値タイムゾーンオフセット ( - 0800など) |
| Z | タイムゾーンの省略形を表す文字列。Formatterのロケールは、引数のロケール (存在する場合) よりも優先される |
| s | 1970年1月1日 00:00:00 UTCのエポック開始からの秒 (Long.MIN_VALUE/1000 ~ Long.MAX_VALUE/1000まで) |
| Q | 1970年1月1日 00:00:00 UTCのエポック開始から (つまり、Long.MIN_VALUE ~ Long.MAX_VALUEまで) のミリ秒 |
| 変換指定子 | 説明 |
|---|---|
| B | ロケール固有の月の完全な名前 (「January」、「February」など) |
| b | ロケール固有の月の省略名 (「Jan」、「Feb」など) |
| h | 'b'と同じ |
| A | ロケール固有の曜日の完全な名前 (「Sunday」、「Monday」など) |
| a | ロケール固有の曜日の短縮名 (「Sun」、「Mon」など) |
| C | 4桁の年を100で割った値。必要に応じて0を先頭に追加し、2桁で表示する (00 - 99) |
| Y | 年。必要に応じて0を先頭に追加し、4桁以上で表現する。たとえば0092は、グレゴリオ歴の92CEと等価 |
| y | 年の下2桁。必要に応じて0を先頭に追加する (00 - 99) |
| j | 年の何日目かを表す日。必要に応じて0を先頭に追加し、3桁で表現する。たとえばグレゴリオ歴の場合、001 - 366 |
| m | 月。必要に応じて0を先頭に追加し、2桁で表現する (01 - 13) |
| d | 月の何日目かを表す日。必要に応じて0を先頭に追加し、2桁で表現する (01 - 31) |
| e | 月の何日目かを表す日。最大2桁で表現する (1 - 31) |
| 変換指定子 | 説明 |
|---|---|
| R | 「%tH:%tM」として、24時間制で書式設定された時刻 |
| T | 「%tH:%tM:%tS」として、24時間制で書式設定された時刻 |
| r | 「"%tI:%tM:%tS%Tp"」として、12時間制で書式設定された時刻。午前および午後マーカーの位置 ('%Tp') はロケールにより異なる |
| D | 「%tm/%td/%ty」として書式設定された日付 |
| F | 「%tY - %tm - %td」として書式設定された、ISO 8601に準拠した日付 |
| c | 「%ta%tb%td%tT%tZ%tY」として書式設定された日付および時刻 (「Sun Jul 20 16:17:00 EDT 1969」など) |
| フラグ | 説明 |
|---|---|
| - | 左揃え |
| # | 変換に依存する代替フォームを使用する |
| + | 常に符号を含む |
| (空白) | 先頭に正の値を示す空白を含む |
| 0 | ゼロを追加 |
| , | ロケール固有のグループ化区切り文字を含む |
| ( | 負の数値をかっこで囲む |
変換指定子によってはサポートされません。
変換指定子ごとに適用のされ方が異なります。
| カテゴ | 変換指定子 | 説明 |
|---|---|---|
| 一般 | すべて | 出力される最大文字数 |
| 浮動小数点 | e、E、f | 10進数の区切り文字の後の桁数 |
| g、G | 四捨五入後の結果として得られる絶対値の合計桁数 | |
| a、A | 指定できない | |
| その他 | すべて | 指定できない |
Stringクラスならば、format()メソッドによって書式化された文字列を取得できます。
public static String format(
String format,
Object... args
)
formatで書式文字列を、argsでそれに渡す引数を指定します。