文字列に関するクラス、
などは、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でそれに渡す引数を指定します。