public final class StringUtil
extends java.lang.Object
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<java.lang.String> strings)
コレクションが何らかの文字列を含んでいるか判定する。
isNullOrEmpty(Collection) と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。 |
static boolean |
hasValue(java.lang.String... strings)
文字列配列が何らかの文字列を含んでいるか判定する。
isNullOrEmpty(String...) と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。 |
static boolean |
hasValue(java.lang.String string)
Stringインスタンスが何らかの文字を含んでいるか判定する。
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<java.lang.String> 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<java.lang.String> params)
複数の文字列をセパレータを挟んで結合する。
|
static java.lang.String |
join(java.lang.String separator,
java.util.List<java.lang.String> params,
java.lang.String nullToString)
複数の文字列をセパレータを挟んで結合する。
|
static java.lang.String |
lowerAndTrimUnderScore(java.lang.String value)
大文字を小文字にし、アンダースコアを削除する。
|
static java.lang.String |
lpad(java.lang.String string,
int length,
char padChar)
文字列の左側に、指定された文字を指定された文字列長に到達するまで加える。
string の文字数 >= length の場合はstring の文字列をそのまま返却。例:
|
static java.lang.String[] |
merge(java.lang.String[]... arrays)
文字列配列を連結する。
|
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<java.lang.String> |
split(java.lang.String str,
java.lang.String separator)
文字列をセパレータで分割する。
|
static java.util.List<java.lang.String> |
split(java.lang.String str,
java.lang.String separator,
boolean trim)
文字列をセパレータで分割する。
|
static java.lang.String[] |
toArray(java.util.Collection<java.lang.String> collection)
コレクションを配列に変換する。
|
static java.lang.String |
toString(byte[] bytes,
java.nio.charset.Charset charset)
指定された文字セットでバイト配列をデコードする。
JDK1.6以上を使用する場合は、
java.lang.String(byte[], Charset) を使用すること。bytes がnull だった場合、null を返す。 |
static java.lang.String |
toString(java.lang.Object value)
指定された値を文字列に変換する。
|
@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
isNullOrEmpty(String)
@Published public static boolean isNullOrEmpty(java.util.Collection<java.lang.String> strings)
null
または空文字列判定を行う。
与えられたコレクション内の要素全てがnull
または空文字であればtrue
を返却する。
|引数 | 戻り値 +--------------------+-------- | null | true | {} | true | {"", null} | true | { null, "a" } | false | " " (半角スペース) | false | " "(全角スペース) | false
strings
- 文字列を格納したコレクションnull
または空文字の時、true
isNullOrEmpty(String)
@Published public static boolean hasValue(java.lang.String string)
isNullOrEmpty(String)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。
private String something;
public void hasSomething() {
return (!StringUtil.isNullOrEmpty(this.something)) {
}
以下のように書き換えることで、単純に読み下すことができる。
public void hasSomething() {
return StringUtil.hasValue(this.something);
}
string
- 文字列true
isNullOrEmpty(String)
@Published public static boolean hasValue(java.lang.String... strings)
isNullOrEmpty(String...)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。strings
- 調査対象となる文字列配列true
isNullOrEmpty(String...)
,
hasValue(String)
@Published public static boolean hasValue(java.util.Collection<java.lang.String> strings)
isNullOrEmpty(Collection)
と逆の真偽値を返却する。
否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。strings
- 調査対象となるコレクションtrue
isNullOrEmpty(String...)
,
hasValue(String)
public static java.lang.String toString(byte[] bytes, java.nio.charset.Charset charset)
java.lang.String(byte[], Charset)
を使用すること。bytes
がnull
だった場合、null
を返す。bytes
- バイト配列charset
- 文字セットpublic static java.lang.String toString(java.lang.Object value)
指定された値がBigDecimal
の場合には、
BigDecimal.toPlainString()
を使用して文字列に変換する。
それ以外のオブジェクトの場合には、toString()
により文字列化を行う。
value
- 文字列に変換する値@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
の場合public static java.lang.String[] merge(java.lang.String[]... arrays)
arrays
- 配列(null
不可){@link
- IllegalArgumentException} 配列がnull
の場合public static java.lang.String[] toArray(java.util.Collection<java.lang.String> collection)
collection
- 変換対象のコレクション(null
不可){@link
- IllegalArgumentException} 変換対象のコレクションがnull
の場合public static java.lang.String lowerAndTrimUnderScore(java.lang.String value)
value
- 変換対象の文字列(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<java.lang.String> params)
separator
- セパレータparams
- 結合する文字列@Published public static java.lang.String join(java.lang.String separator, java.util.List<java.lang.String> params, java.lang.String nullToString)
separator
- セパレータparams
- 結合する文字列nullToString
- 結合する文字列がnullの場合に使用する文字列@Published public static java.util.List<java.lang.String> split(java.lang.String str, java.lang.String separator)
str
- 分割対象文字列separator
- セパレータ@Published public static java.util.List<java.lang.String> split(java.lang.String str, java.lang.String separator, boolean trim)
str
- 文字列separator
- セパレータtrim
- 分割後の文字列をトリムする場合、true