public final class StringUtil
extends java.lang.Object
StringUtil.insert(String, String, int...)
のように
文字列編集用途に使用するメソッドも用意されている。これらのメソッドは、
例えば、電話番号をハイフン区切りに整形する等のフォーマット処理用に使用されることを想定している。
プロジェクトでフォーマット用のユーティリティを作成する場合、これらのメソッドを使用するとよい。
本クラスはサロゲートペアに対応している。Modifier and Type | Method and Description |
---|---|
static java.lang.String |
chomp(java.lang.String target,
java.lang.String end)
行末の文字列を切り落とす。
|
static byte[] |
getBytes(java.lang.String string,
java.nio.charset.Charset charset)
指定された文字セットで文字列をエンコードする。
JDK1.6以上を使用する場合は、
java.lang.String#getBytes(Charset) を使用すること。string がnull だった場合、null を返す。
string が空文字だった場合、空のバイト配列を返す。 |
static boolean |
hasValue(java.util.Collection strings)
コレクションが何らかの文字列を含んでいるか判定する。
StringUtil.isNullOrEmpty(Collection) と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。 |
static boolean |
hasValue(java.lang.String... strings)
文字列配列が何らかの文字列を含んでいるか判定する。
StringUtil.isNullOrEmpty(String...) と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。 |
static boolean |
hasValue(java.lang.String string)
Stringインスタンスが何らかの文字を含んでいるか判定する。
StringUtil.isNullOrEmpty(String) と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。例を以下に示す。
|
static java.lang.String |
insert(java.lang.String target,
java.lang.String delimiter,
int... intervals)
区切り文字を文字列先頭から挿入する。
例:
|
static java.lang.String |
insertFromRight(java.lang.String target,
java.lang.String delimiter,
int... intervals)
区切り文字を右側から挿入する。
例:
|
static java.lang.String |
insertRepeatedly(java.lang.String target,
java.lang.String delimiter,
int interval)
区切り文字を等間隔で挿入する。
例:
|
static java.lang.String |
insertRepeatedlyFromRight(java.lang.String target,
java.lang.String delimiter,
int interval)
区切り文字を右側から等間隔で挿入する。
例:
|
static boolean |
isNullOrEmpty(java.util.Collection strings)
null または空文字列判定を行う。
与えられたコレクション内の要素全てがnull または空文字であればtrue を返却する。 |
static boolean |
isNullOrEmpty(java.lang.String... strings)
null または空文字列判定を行う。
与えられた文字列配列内の要素全てがnull または空文字であればtrue を返却する。 |
static boolean |
isNullOrEmpty(java.lang.String string)
null または空文字列判定を行う。 |
static java.lang.String |
join(java.lang.String separator,
java.util.List params)
複数の文字列をセパレータを挟んで結合する。
|
static java.lang.String |
lpad(java.lang.String string,
int length,
char padChar)
文字列の左側に、指定された文字を指定された文字列長に到達するまで加える。
string の文字数 >= length の場合はstring の文字列をそのまま返却。例:
|
static java.lang.String |
nullToEmpty(java.lang.String value)
引数で渡された値が
null の場合、空文字を返却する。そうでない場合は、引数をそのまま返却する。 |
static java.lang.String |
repeat(java.lang.Object repeated,
int times)
文字列を繰り返す。
引数が文字列でない場合は、
String.valueOf(Object) された文字列が繰り返される。 |
static java.lang.String |
rpad(java.lang.String string,
int length,
char padChar)
文字列の右側に、指定された文字を指定された文字列長に到達するまで加える。
string の文字数 >= length の場合はstring の文字列をそのまま返却。例:
|
static java.util.List |
split(java.lang.String str,
java.lang.String separator)
文字列をセパレータで分割する。
|
static java.util.List |
split(java.lang.String str,
java.lang.String separator,
boolean trim)
文字列をセパレータで分割する。
|
@Published public static java.lang.String lpad(java.lang.String string, int length, char padChar)
string
の文字数 >= length
の場合はstring
の文字列をそのまま返却。
StringUtil.lpad("100", 10, '0'); //--> "0000000100"
string
- 文字列(null
不可)length
- 変換後文字列のサイズ(0以上)padChar
- 加える文字@Published public static java.lang.String rpad(java.lang.String string, int length, char padChar)
string
の文字数 >= length
の場合はstring
の文字列をそのまま返却。
StringUtil.rpad("100", 10, '0'); //--> "1000000000"
string
- 文字列(null
不可)length
- 変換後文字列のサイズ(0以上)padChar
- 加える文字@Published public static boolean isNullOrEmpty(java.lang.String string)
null
または空文字列判定を行う。
|引数 | 戻り値 +--------------------+-------- | null | true | "" | true | "hoge" | false | " " (半角スペース) | false | " "(全角スペース) | false
string
- 文字列null
または空文字列の場合はtrue
@Published public static boolean isNullOrEmpty(java.lang.String... strings)
null
または空文字列判定を行う。
与えられた文字列配列内の要素全てがnull
または空文字であればtrue
を返却する。
|引数 | 戻り値 +--------------------+-------- | null | true | {} | true | {"", null} | true | { null, "a" } | false | " " (半角スペース) | false | " "(全角スペース) | false
strings
- 文字列配列null
または空文字の時、true
StringUtil.isNullOrEmpty(String)
@Published public static boolean isNullOrEmpty(java.util.Collection strings)
null
または空文字列判定を行う。
与えられたコレクション内の要素全てがnull
または空文字であればtrue
を返却する。
|引数 | 戻り値 +--------------------+-------- | null | true | {} | true | {"", null} | true | { null, "a" } | false | " " (半角スペース) | false | " "(全角スペース) | false
strings
- 文字列を格納したコレクションnull
または空文字の時、true
StringUtil.isNullOrEmpty(String)
@Published public static boolean hasValue(java.lang.String string)
StringUtil.isNullOrEmpty(String)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。
private String something;
public void hasSomething() {
return (!StringUtil.isNullOrEmpty(this.something)) {
}
以下のように書き換えることで、単純に読み下すことができる。
public void hasSomething() {
return StringUtil.hasValue(this.something);
}
string
- 文字列true
StringUtil.isNullOrEmpty(String)
@Published public static boolean hasValue(java.lang.String... strings)
StringUtil.isNullOrEmpty(String...)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。strings
- 調査対象となる文字列配列true
StringUtil.isNullOrEmpty(String...)
,
StringUtil.hasValue(String)
@Published public static boolean hasValue(java.util.Collection strings)
StringUtil.isNullOrEmpty(Collection)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。strings
- 調査対象となるコレクションtrue
StringUtil.isNullOrEmpty(String...)
,
StringUtil.hasValue(String)
@Published(tag="architect") public static byte[] getBytes(java.lang.String string, java.nio.charset.Charset charset)
java.lang.String#getBytes(Charset)
を使用すること。string
がnull
だった場合、null
を返す。
string
が空文字だった場合、空のバイト配列を返す。string
- 文字列charset
- 文字セット@Published(tag="architect") public static java.lang.String repeat(java.lang.Object repeated, int times)
String.valueOf(Object)
された文字列が繰り返される。repeated
- 繰り返し文字列(null
不可)times
- 繰り返し回数(0以上)@Published(tag="architect") public static java.lang.String insert(java.lang.String target, java.lang.String delimiter, int... intervals)
StringUtil.insert("あいうえお", ",", 1, 1, 1); //-->あ,い,う,えお
target
- 対象文字列(null
不可)delimiter
- 区切り文字(null
不可)intervals
- 挿入間隔(null
不可・0不可)@Published(tag="architect") public static java.lang.String insertFromRight(java.lang.String target, java.lang.String delimiter, int... intervals)
StringUtil.insertFromRight("あいうえお", ",", 1, 1, 1); //-->あい,う,え,お
target
- 対象文字列(null
不可)delimiter
- 区切り文字(null
不可)intervals
- 文字列後ろからの挿入間隔(null
不可・0不可)@Published(tag="architect") public static java.lang.String insertRepeatedly(java.lang.String target, java.lang.String delimiter, int interval)
StringUtil.insertRepeatedly("あいうえお", ",", 1) //-->あ,い,う,え,お
target
- 対象文字列(null
不可)delimiter
- 区切り文字(null
不可)interval
- 間隔(0不可)@Published(tag="architect") public static java.lang.String insertRepeatedlyFromRight(java.lang.String target, java.lang.String delimiter, int interval)
StringUtil.insertRepeatedlyFromRight("あいうえお", ",", 1) //-->あ,い,う,え,お
target
- 対象文字列delimiter
- 区切り文字interval
- 間隔(0不可)@Published public static java.lang.String chomp(java.lang.String target, java.lang.String end)
target
- 文字列(null
不可)end
- 取り除く文字列(null
不可){@link
- IllegalArgumentException} 引数がnull
の場合@Published public static java.lang.String nullToEmpty(java.lang.String value)
null
の場合、空文字を返却する。
StringUtil.nullToEmpty(null); //--> ""
StringUtil.nullToEmpty(""); //--> ""
StringUtil.nullToEmpty("hoge"); //--> "hoge"
value
- 変換対象の値@Published public static java.lang.String join(java.lang.String separator, java.util.List params)
separator
- セパレータparams
- 結合する文字列@Published public static java.util.List split(java.lang.String str, java.lang.String separator)
str
- 分割対象文字列separator
- セパレータ@Published public static java.util.List split(java.lang.String str, java.lang.String separator, boolean trim)
str
- 文字列separator
- セパレータtrim
- 分割後の文字列をトリムする場合、true