クラス ObjectUtils
主にフレームワーク内での内部使用向け。
このクラスにいくつかの機能強化を提供してくれた Alex Ruiz に感謝します!
- 導入:
- 19.03.2004
- 作成者:
- Juergen Hoeller, Keith Donald, Rod Johnson, Rob Harrop, Chris Beams, Sam Brannen
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明static <A,O extends A>
A[]addObjectToArray(A[] array, O obj) 指定されたオブジェクトを指定された配列に追加し、入力配列の内容と指定されたオブジェクトで構成される新しい配列を返します。static <A,O extends A>
A[]addObjectToArray(A[] array, O obj, int position) 指定されたオブジェクトを指定された配列の指定された位置に追加し、入力配列の内容と指定されたオブジェクトで構成される新しい配列を返します。static <E extends EnumSE<?>>
EcaseInsensitiveValueOf(E[] enumValues, StringSE constant) Enum.valueOf(Class, String)SE の大文字と小文字を区別しない代替。static booleancontainsConstant(EnumSE<?>[] enumValues, StringSE constant) 列挙定数の指定された配列に指定された名前の定数が含まれているかどうかを確認し、一致を判断するときに大文字と小文字を無視します。static booleancontainsConstant(EnumSE<?>[] enumValues, StringSE constant, boolean caseSensitive) 指定された列挙定数の配列に、指定された名前の定数が含まれているかどうかを確認します。static booleancontainsElement(ObjectSE[] array, ObjectSE element) 指定された配列に指定された要素が含まれているかどうかを確認します。static StringSEgetDisplayString(ObjectSE obj) objがnullでない場合、コンテンツベースの文字列表現を返します。それ以外の場合は、空の文字列を返します。static StringSEオブジェクトの ID ハッシュコードの 16 進文字列形式を返します。static StringSEidentityToString(ObjectSE obj) オブジェクトの全体的なアイデンティティの文字列表現を返します。static boolean指定されたオブジェクトが配列であるかどうかを判別します。オブジェクト配列またはプリミティブ配列のいずれかです。static boolean指定されたスロー可能オブジェクトがチェックされた例外であるかどうかを返します。つまり、RuntimeException でもエラーでもありません。static booleanisCompatibleWithThrowsClause(ThrowableSE ex, ClassSE<?>... declaredExceptions) throws句で宣言されているように、指定された例外が指定された例外型と互換性があるかどうかを確認します。static boolean指定されたオブジェクトが空かどうかを判別します。static boolean指定された配列が空かどうかを判断します: すなわちstatic StringSE指定されたオブジェクトのクラス名を決定します。static StringSE以下で説明するように、提供されたオブジェクトの null セーフで簡潔な文字列表現を生成します。static booleannullSafeEquals(ObjectSE o1, ObjectSE o2) 指定されたオブジェクトが等しいかどうかを判別し、両方がnullの場合はtrueを返し、一方のみがnullの場合はfalseを返します。static intnullSafeHash(ObjectSE... elements) 指定された要素のハッシュコードを返し、要素ごとにnullSafeHashCode(Object)に委譲します。static intnullSafeHashCode(boolean[] array) 使用すべきではありません。static intnullSafeHashCode(byte[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(byte[])SE を推奨static intnullSafeHashCode(char[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(char[])SE を推奨static intnullSafeHashCode(double[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(double[])SE を推奨static intnullSafeHashCode(float[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(float[])SE を推奨static intnullSafeHashCode(int[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(int[])SE を推奨static intnullSafeHashCode(long[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(long[])SE を推奨static intnullSafeHashCode(short[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(short[])SE を推奨static intnullSafeHashCode(ObjectSE obj) 指定されたオブジェクトのハッシュコード (通常はObject.hashCode()の値) を返します。static intnullSafeHashCode(ObjectSE[] array) 使用すべきではありません。6.1 現在、Arrays.hashCode(Object[])SE を推奨static StringSEnullSafeToString(boolean[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(byte[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(char[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(double[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(float[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(int[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(long[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(short[] array) 指定された配列の内容のストリング表現を返します。static StringSEnullSafeToString(ObjectSE obj) 指定されたオブジェクトの文字列表現を返します。static StringSEnullSafeToString(ObjectSE[] array) 指定された配列の内容のストリング表現を返します。static ObjectSE[]toObjectArray(ObjectSE source) 指定された配列 (プリミティブ配列の場合もあります) をオブジェクト配列 (必要に応じて、プリミティブラッパーオブジェクトの配列) に変換します。static ObjectSEunwrapOptional(ObjectSE obj) 潜在的にOptionalSE である指定されたオブジェクトのラップを解除します。
コンストラクターの詳細
ObjectUtils
public ObjectUtils()
メソッドの詳細
isCheckedException
指定されたスロー可能オブジェクトがチェックされた例外であるかどうかを返します。つまり、RuntimeException でもエラーでもありません。- パラメーター:
ex- チェックするスロー可能オブジェクト- 戻り値:
- スロー可能オブジェクトがチェック済み例外かどうか
- 関連事項:
isCompatibleWithThrowsClause
public static boolean isCompatibleWithThrowsClause(ThrowableSE ex, @Nullable ClassSE<?>... declaredExceptions) throws句で宣言されているように、指定された例外が指定された例外型と互換性があるかどうかを確認します。- パラメーター:
ex- チェックする例外declaredExceptions- throws 句で宣言された例外型- 戻り値:
- 指定された例外に互換性があるかどうか
isArray
指定されたオブジェクトが配列であるかどうかを判別します。オブジェクト配列またはプリミティブ配列のいずれかです。- パラメーター:
obj- チェックするオブジェクト
isEmpty
指定された配列が空であるかどうかを確認します。つまり、nullまたは長さがゼロです。- パラメーター:
array- チェックする配列- 関連事項:
isEmpty
指定されたオブジェクトが空かどうかを判別します。このメソッドは、次のオブジェクト型をサポートしています。
Optional:Optional.isPresent()でない場合は空と見なされますArray: 長さがゼロの場合は空と見なされますCharSequenceSE : 長さがゼロの場合は空と見なされますCollectionSE :Collection.isEmpty()へのデリゲートMapSE :Map.isEmpty()へのデリゲート
指定されたオブジェクトが null でなく、前述のサポートされている型のいずれでもない場合、このメソッドは
falseを返します。- パラメーター:
obj- チェックするオブジェクト- 戻り値:
- オブジェクトが
nullまたは空の場合はtrue - 導入:
- 4.2
- 関連事項:
unwrapOptional
潜在的にOptionalSE である指定されたオブジェクトのラップを解除します。- パラメーター:
obj- 候補オブジェクト- 戻り値:
Optional内に保持されている値、Optionalが空の場合はnull、単に指定されたオブジェクトをそのまま- 導入:
- 5.0
containsElement
指定された配列に指定された要素が含まれているかどうかを確認します。- パラメーター:
array- チェックする配列 (nullの場合があります。その場合、戻り値は常にfalseになります。)element- チェックする要素- 戻り値:
- 指定された配列で要素が見つかったかどうか
containsConstant
列挙定数の指定された配列に指定された名前の定数が含まれているかどうかを確認し、一致を判断するときに大文字と小文字を無視します。- パラメーター:
enumValues- チェックする列挙値。通常MyEnum.values()を介して取得されますconstant- 検索する定数名 (null または空の文字列であってはなりません)- 戻り値:
- 指定された配列で定数が見つかったかどうか
containsConstant
public static boolean containsConstant(EnumSE<?>[] enumValues, StringSE constant, boolean caseSensitive) 指定された列挙定数の配列に、指定された名前の定数が含まれているかどうかを確認します。- パラメーター:
enumValues- チェックする列挙値。通常MyEnum.values()を介して取得されますconstant- 検索する定数名 (null または空の文字列であってはなりません)caseSensitive- 大文字と小文字が一致を判断する上で重要かどうか- 戻り値:
- 指定された配列で定数が見つかったかどうか
caseInsensitiveValueOf
Enum.valueOf(Class, String)SE の大文字と小文字を区別しない代替。- 型パラメーター:
E- 具体的な列挙型- パラメーター:
enumValues- 問題のすべての Enum 定数の配列、通常Enum.values()ごとconstant- 列挙値を取得する定数- 例外:
IllegalArgumentExceptionSE- 指定された定数が指定された列挙値の配列で見つからない場合この例外を回避するには、containsConstant(Enum[], String)をガードとして使用してください。
addObjectToArray
指定されたオブジェクトを指定された配列に追加し、入力配列の内容と指定されたオブジェクトで構成される新しい配列を返します。- パラメーター:
array- 追加する配列 (nullにすることができます)obj- 追加するオブジェクト- 戻り値:
- 新しい配列 (同じコンポーネント型の ;
null)
addObjectToArray
public static <A,O extends A> A[] addObjectToArray(@Nullable A[] array, @Nullable O obj, int position) 指定されたオブジェクトを指定された配列の指定された位置に追加し、入力配列の内容と指定されたオブジェクトで構成される新しい配列を返します。- パラメーター:
array- 追加する配列 (nullにすることができます)obj- 追加するオブジェクトposition- オブジェクトを追加する位置- 戻り値:
- 新しい配列 (同じコンポーネント型の ;
null) - 導入:
- 6.0
toObjectArray
指定された配列 (プリミティブ配列の場合もあります) をオブジェクト配列 (必要に応じて、プリミティブラッパーオブジェクトの配列) に変換します。nullソース値または空のプリミティブ配列は、空のオブジェクト配列に変換されます。- パラメーター:
source- (潜在的にプリミティブな)配列- 戻り値:
- 対応するオブジェクト配列 (非
null) - 例外:
IllegalArgumentExceptionSE- パラメーターが配列でない場合
nullSafeEquals
@Contract("null, null -> true; null, _ -> false; _, null -> false") public static boolean nullSafeEquals(@Nullable ObjectSE o1, @Nullable ObjectSE o2) 指定されたオブジェクトが等しいかどうかを判別し、両方がnullの場合はtrueを返し、一方のみがnullの場合はfalseを返します。配列を
Arrays.equalsと比較し、配列参照ではなく配列要素に基づいて等価性チェックを実行します。- パラメーター:
o1- 比較する最初のオブジェクトo2- 比較する 2 番目のオブジェクト- 戻り値:
- 指定されたオブジェクトが等しいかどうか
- 関連事項:
nullSafeHash
指定された要素のハッシュコードを返し、要素ごとにnullSafeHashCode(Object)に委譲します。Objects.hash(Object...)SE とは異なり、このメソッドは配列である要素を処理できます。- パラメーター:
elements- ハッシュされる要素- 戻り値:
- 要素のハッシュ値
- 導入:
- 6.1
nullSafeHashCode
指定されたオブジェクトのハッシュコード(通常はObject.hashCode()の値)を返します。オブジェクトが配列の場合、このメソッドはArrays.hashCodeメソッドのいずれかに委譲します。オブジェクトがnullの場合、このメソッドは0を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(Object[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(boolean[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(byte[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(char[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(double[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(float[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(int[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(long[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。nullSafeHashCode
使用すべきではありません。6.1 現在、Arrays.hashCode(short[])SE を推奨指定された配列の内容に基づいてハッシュコードを返します。arrayがnullの場合、このメソッドは 0 を返します。identityToString
オブジェクトの全体的なアイデンティティの文字列表現を返します。- パラメーター:
obj- オブジェクト (nullの場合があります)- 戻り値:
- String 表現としてのオブジェクトの ID、またはオブジェクトが
nullの場合は空の String
getIdentityHexString
オブジェクトの ID ハッシュコードの 16 進文字列形式を返します。- パラメーター:
obj- オブジェクト- 戻り値:
- 16 進表記のオブジェクトの ID コード
getDisplayString
objがnullでない場合、コンテンツベースの文字列表現を返します。それ以外の場合は、空の文字列を返します。null値に対して "null" ではなく空の文字列を返す点で、nullSafeToString(Object)とは異なります。- パラメーター:
obj- 表示文字列を構築するオブジェクト- 戻り値:
objの表示文字列表現- 関連事項:
nullSafeClassName
指定されたオブジェクトのクラス名を決定します。objがnullの場合、"null"文字列を返します。- パラメーター:
obj- イントロスペクトするオブジェクト (nullの場合があります)- 戻り値:
- 対応するクラス名
nullSafeToString
指定されたオブジェクトの文字列表現を返します。配列の場合、コンテンツの文字列表現を構築します。
objがnullの場合、"null"文字列を返します。- パラメーター:
obj- 文字列表現を構築するオブジェクト- 戻り値:
objの文字列表現- 関連事項:
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeToString
指定された配列の内容のストリング表現を返します。文字列表現は、波括弧(
"{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字", "(コンマの後にスペースが続く)で区切られます。arrayがnullの場合、"null"文字列を返します。- パラメーター:
array- 文字列表現を構築する配列- 戻り値:
arrayの文字列表現
nullSafeConciseToString
以下で説明するように、提供されたオブジェクトの null セーフで簡潔な文字列表現を生成します。生成される文字列の長さを制限する必要がある場合は、
nullSafeToString(Object)よりもこの方法を優先してください。戻り値:
-
objがnullの場合は"null" "Optional.empty"(objが空のOptionalSE の場合)"Optional[<concise-string>]"(objが空ではないOptionalの場合)。<concise-string>は、Optionalに含まれるオブジェクトに対してこのメソッドを呼び出した結果です。-
objが空の配列の場合は"{}" "{...}"(objがMapSE または空でない配列の場合)"[...]"(objがCollectionSE の場合)objがClassSE の場合はクラス名objがCharsetSE の場合は文字セット名objがTimeZoneSE の場合は TimeZone IDobjがZoneIdSE の場合はゾーン IDobjがStringSE またはCharSequenceSE の場合、文字列が切り捨てられる可能性がありますobjが単純な値型で、そのtoString()メソッドが null 以外の値を返す場合、文字列が切り捨てられる可能性があります。- それ以外の場合は、
"@"と連結されたオブジェクトの型名の文字列表現と、オブジェクトの ID ハッシュコードの 16 進文字列形式
このメソッドのコンテキストでは、単純な値型は、プリミティブラッパー (
VoidSE を除く)、EnumSE、NumberSE、DateSE、TemporalSE、FileSE、PathSE、URISE、URLSE、InetAddressSE、CurrencySE、LocaleSE、UUIDSE、PatternSE のいずれかになります。- パラメーター:
obj- 文字列表現を構築するオブジェクト- 戻り値:
- 提供されたオブジェクトの簡潔な文字列表現
- 導入:
- 5.3.27
- 関連事項:
-
Arrays.hashCode(boolean[])SE を推奨