パッケージ org.springframework.util

クラス ObjectUtils

java.lang.ObjectSE
org.springframework.util.ObjectUtils

public abstract class ObjectUtils extends ObjectSE
その他のオブジェクトユーティリティメソッド。

主にフレームワーク内での内部使用向け。

このクラスにいくつかの機能強化を提供してくれた Alex Ruiz に感謝します!

導入:
19.03.2004
作成者:
Juergen Hoeller, Keith Donald, Rod Johnson, Rob Harrop, Chris Beams, Sam Brannen
関連事項:
  • コンストラクターの詳細

    • ObjectUtils

      public ObjectUtils()
  • メソッドの詳細

    • isCheckedException

      public static boolean isCheckedException(ThrowableSE ex)
      指定されたスロー可能オブジェクトがチェックされた例外であるかどうかを返します。つまり、RuntimeException でもエラーでもありません。
      パラメーター:
      ex - チェックするスロー可能オブジェクト
      戻り値:
      スロー可能オブジェクトがチェック済み例外かどうか
      関連事項:
    • isCompatibleWithThrowsClause

      public static boolean isCompatibleWithThrowsClause(ThrowableSE ex, @Nullable ClassSE<?>... declaredExceptions)
      throws 句で宣言されているように、指定された例外が指定された例外型と互換性があるかどうかを確認します。
      パラメーター:
      ex - チェックする例外
      declaredExceptions - throws 句で宣言された例外型
      戻り値:
      指定された例外に互換性があるかどうか
    • isArray

      public static boolean isArray(@Nullable ObjectSE obj)
      指定されたオブジェクトが配列であるかどうかを判別します。オブジェクト配列またはプリミティブ配列のいずれかです。
      パラメーター:
      obj - チェックするオブジェクト
    • isEmpty

      public static boolean isEmpty(@Nullable ObjectSE[] array)
      指定された配列が空であるかどうかを確認します。つまり、null または長さがゼロです。
      パラメーター:
      array - チェックする配列
      関連事項:
    • isEmpty

      public static boolean isEmpty(@Nullable ObjectSE obj)
      指定されたオブジェクトが空かどうかを判別します。

      このメソッドは、次のオブジェクト型をサポートしています。

      指定されたオブジェクトが null でなく、前述のサポートされている型のいずれでもない場合、このメソッドは false を返します。

      パラメーター:
      obj - チェックするオブジェクト
      戻り値:
      オブジェクトが null または空の場合は true 
      導入:
      4.2
      関連事項:
    • unwrapOptional

      @Nullable public static ObjectSE unwrapOptional(@Nullable ObjectSE obj)
      潜在的に OptionalSE である指定されたオブジェクトのラップを解除します。
      パラメーター:
      obj - 候補オブジェクト
      戻り値:
      Optional 内に保持されている値、Optional が空の場合は null、単に指定されたオブジェクトをそのまま
      導入:
      5.0
    • containsElement

      public static boolean containsElement(@Nullable ObjectSE[] array, ObjectSE element)
      指定された配列に指定された要素が含まれているかどうかを確認します。
      パラメーター:
      array - チェックする配列 (null の場合があります。その場合、戻り値は常に false になります。)
      element - チェックする要素
      戻り値:
      指定された配列で要素が見つかったかどうか
    • containsConstant

      public static boolean containsConstant(EnumSE<?>[] enumValues, StringSE constant)
      列挙定数の指定された配列に指定された名前の定数が含まれているかどうかを確認し、一致を判断するときに大文字と小文字を無視します。
      パラメーター:
      enumValues - チェックする列挙値。通常 MyEnum.values() を介して取得されます
      constant - 検索する定数名 (null または空の文字列であってはなりません)
      戻り値:
      指定された配列で定数が見つかったかどうか
    • containsConstant

      public static boolean containsConstant(EnumSE<?>[] enumValues, StringSE constant, boolean caseSensitive)
      指定された列挙定数の配列に、指定された名前の定数が含まれているかどうかを確認します。
      パラメーター:
      enumValues - チェックする列挙値。通常 MyEnum.values() を介して取得されます
      constant - 検索する定数名 (null または空の文字列であってはなりません)
      caseSensitive - 大文字と小文字が一致を判断する上で重要かどうか
      戻り値:
      指定された配列で定数が見つかったかどうか
    • caseInsensitiveValueOf

      public static <E extends EnumSE<?>> E caseInsensitiveValueOf(E[] enumValues, StringSE constant)
      Enum.valueOf(Class, String)SE の大文字と小文字を区別しない代替。
      型パラメーター:
      E - 具体的な列挙型
      パラメーター:
      enumValues - 問題のすべての Enum 定数の配列、通常 Enum.values() ごと
      constant - 列挙値を取得する定数
      例外:
      IllegalArgumentExceptionSE - 指定された定数が指定された列挙値の配列で見つからない場合この例外を回避するには、containsConstant(Enum[], String) をガードとして使用してください。
    • addObjectToArray

      public static <A, O extends A> A[] addObjectToArray(@Nullable A[] array, @Nullable O obj)
      指定されたオブジェクトを指定された配列に追加し、入力配列の内容と指定されたオブジェクトで構成される新しい配列を返します。
      パラメーター:
      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

      public static ObjectSE[] toObjectArray(@Nullable ObjectSE source)
      指定された配列(プリミティブ配列の場合があります)をオブジェクト配列に変換します(プリミティブラッパーオブジェクトの場合)。

      null ソース値は空のオブジェクト配列に変換されます。

      パラメーター:
      source - (潜在的にプリミティブな)配列
      戻り値:
      対応するオブジェクト配列 (非 null)
      例外:
      IllegalArgumentExceptionSE - パラメーターが配列でない場合
    • nullSafeEquals

      public static boolean nullSafeEquals(@Nullable ObjectSE o1, @Nullable ObjectSE o2)
      指定されたオブジェクトが等しいかどうかを判別し、両方が null の場合は true を返し、一方のみが null の場合は false を返します。

      配列を Arrays.equals と比較し、配列参照ではなく配列要素に基づいて等価性チェックを実行します。

      パラメーター:
      o1 - 比較する最初のオブジェクト
      o2 - 比較する 2 番目のオブジェクト
      戻り値:
      指定されたオブジェクトが等しいかどうか
      関連事項:
    • nullSafeHash

      public static int nullSafeHash(@Nullable ObjectSE... elements)
      指定された要素のハッシュコードを返し、要素ごとに nullSafeHashCode(Object) に委譲します。Objects.hash(Object...)SE とは異なり、このメソッドは配列である要素を処理できます。
      パラメーター:
      elements - ハッシュされる要素
      戻り値:
      要素のハッシュ値
      導入:
      6.1
    • nullSafeHashCode

      public static int nullSafeHashCode(@Nullable ObjectSE obj)
      指定されたオブジェクトのハッシュコードを返します。通常は Object#hashCode() の値です。オブジェクトが配列の場合、このメソッドはいずれかの Arrays.hashCode メソッドに委譲します。オブジェクトが null の場合、このメソッドは 0 を返します。
      関連事項:
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable ObjectSE[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(Object[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable boolean[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(boolean[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable byte[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(byte[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable char[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(char[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable double[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(double[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable float[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(float[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable int[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(int[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable long[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(long[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • nullSafeHashCode

      @DeprecatedSE(since="6.1") public static int nullSafeHashCode(@Nullable short[] array)
      使用すべきではありません。
      6.1 現在、Arrays.hashCode(short[])SE を推奨
      指定された配列の内容に基づいてハッシュコードを返します。array が null の場合、このメソッドは 0 を返します。
    • identityToString

      public static StringSE identityToString(@Nullable ObjectSE obj)
      オブジェクトの全体的なアイデンティティの文字列表現を返します。
      パラメーター:
      obj - オブジェクト (null の場合があります)
      戻り値:
      String 表現としてのオブジェクトの ID、またはオブジェクトが null の場合は空の String
    • getIdentityHexString

      public static StringSE getIdentityHexString(ObjectSE obj)
      オブジェクトの ID ハッシュコードの 16 進文字列形式を返します。
      パラメーター:
      obj - オブジェクト
      戻り値:
      16 進表記のオブジェクトの ID コード
    • getDisplayString

      public static StringSE getDisplayString(@Nullable ObjectSE obj)
      obj が null でない場合、コンテンツベースの文字列表現を返します。それ以外の場合は、空の文字列を返します。

      null 値に対して "null" ではなく空の文字列を返す点で、nullSafeToString(Object) とは異なります。

      パラメーター:
      obj - 表示文字列を構築するオブジェクト
      戻り値:
      obj の表示文字列表現
      関連事項:
    • nullSafeClassName

      public static StringSE nullSafeClassName(@Nullable ObjectSE obj)
      指定されたオブジェクトのクラス名を決定します。

      obj が null の場合、"null" 文字列を返します。

      パラメーター:
      obj - イントロスペクトするオブジェクト (null の場合があります)
      戻り値:
      対応するクラス名
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable ObjectSE obj)
      指定されたオブジェクトの文字列表現を返します。

      配列の場合、コンテンツの文字列表現を構築します。obj が null の場合、"null" 文字列を返します。

      パラメーター:
      obj - 文字列表現を構築するオブジェクト
      戻り値:
      obj の文字列表現
      関連事項:
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable ObjectSE[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable boolean[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable byte[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable char[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable double[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable float[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable int[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable long[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeToString

      public static StringSE nullSafeToString(@Nullable short[] array)
      指定された配列の内容のストリング表現を返します。

      文字列表現は、波括弧("{}")で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (コンマの後にスペースが続く)で区切られます。array が null の場合、"null" 文字列を返します。

      パラメーター:
      array - 文字列表現を構築する配列
      戻り値:
      array の文字列表現
    • nullSafeConciseToString

      public static StringSE nullSafeConciseToString(@Nullable ObjectSE obj)
      以下で説明するように、提供されたオブジェクトの 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 ID
      • obj が ZoneIdSE の場合はゾーン ID
      • obj が StringSE または CharSequenceSE の場合、文字列が切り捨てられる可能性があります
      • obj が単純な値型で、その toString() メソッドが null 以外の値を返す場合、文字列が切り捨てられる可能性があります。
      • それ以外の場合は、"@" と連結されたオブジェクトの型名の文字列表現と、オブジェクトの ID ハッシュコードの 16 進文字列形式

      このメソッドのコンテキストでは、単純な値型は、プリミティブラッパー (VoidSE を除く)、EnumSENumberSEDateSETemporalSEFileSEPathSEURISEURLSEInetAddressSECurrencySELocaleSEUUIDSEPatternSE のいずれかになります。

      パラメーター:
      obj - 文字列表現を構築するオブジェクト
      戻り値:
      提供されたオブジェクトの簡潔な文字列表現
      導入:
      5.3.27
      関連事項: