クラス NullableUtils
java.lang.ObjectSE
org.springframework.data.util.NullableUtils
使用すべきではありません。
パッケージ、クラス、メソッドで宣言された null 可能性ルールをイントロスペクトするユーティリティメソッド。
null 許容ルールは、Nullable、NonNullApi、JSR-305 javax.annotation.Nonnull アノテーションを使用して宣言されます。デフォルト(アノテーションを使用しない場合)では、パッケージとその型は、戻り値とメソッドパラメーターに null 値を許可するものとみなされます。null 許容ルールは、Spring の NonNullApi などの JSR-305 メタアノテーションを使用してパッケージにアノテーションを付与することで表現されます。パッケージ内のすべての型はパッケージルールを継承します。サブパッケージは null 許容ルールを継承しないため、サブパッケージ自体にアノテーションを付与する必要があります。
@org.jspecify.annotations.NullMarked package com.example;
Nullable は、メソッドにそれぞれパラメーターにアノテーションを付けることにより、メソッドの戻り値またはメソッドパラメーターの null 値を選択的に許可します。
public class ExampleClass {
String shouldNotReturnNull(@Nullable String acceptsNull, String doesNotAcceptNull) {
// …
}
@Nullable
String nullableReturn(String parameter) {
// …
}
}
javax.annotation.Nonnull は、メタアノテーションの作成に適しており、javax.annotation.Nonnull#when() を介して表現します。この場合、非 null 可能性が適用されます。
- 導入:
- 2.0
- 作成者:
- Mark Paluch
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明static booleanisExplicitNullable(MethodParameter methodParameter) 使用すべきではありません。MethodParameterが null 許容と見なされるように明示的にアノテーションが付けられているかどうかを判別します。static booleanisNonNull(ClassSE<?> type, ElementTypeSE elementType) 使用すべきではありません。typeのスコープ内のElementTypeSE が NULL 以外の値を必要とするかどうかを判別します。static booleanisNonNull(@Nullable AnnotatedElementSE element, ElementTypeSE elementType) 使用すべきではありません。AnnotatedElementSE のスコープ内のElementTypeSE が NULL 以外の値を必要とするかどうかを判別します。static booleanisNonNull(MethodSE method, ElementTypeSE elementType) 使用すべきではありません。MethodSE のスコープ内のElementTypeSE が NULL 以外の値を必要とするかどうかを判別します。
メソッドの詳細
isNonNull
使用すべきではありません。MethodSE のスコープ内のElementTypeSE が null 以外の値を必要とするかどうかを判別します。非 null 可能性ルールは、クラスとパッケージのアノテーションから検出されます。javax.annotation.Nonnullがjavax.annotation.meta.When#ALWAYSに設定されている場合、null 以外が適用されます。- パラメーター:
method- インスペクションする方法。elementType- 要素型。- 戻り値:
ElementTypeSE がデフォルトで null 値を許可する場合は false。メソッドの戻り値の型がprimitiveの場合は true、メソッドが void の場合は false。- 関連事項:
isNonNull
使用すべきではありません。typeのスコープ内のElementTypeSE が null 以外の値を必要とするかどうかを判別します。非 null 可能性ルールは、クラスとパッケージのアノテーションから検出されます。javax.annotation.Nonnullがjavax.annotation.meta.When#ALWAYSに設定されている場合、null 以外が適用されます。- パラメーター:
type- インスペクションするクラス。elementType- 要素型。- 戻り値:
ElementTypeSE が null 値を許可する場合は false。指定された型がprimitiveの場合は true。- 関連事項:
isNonNull
@Contract("null, _ -> false") public static boolean isNonNull(@Nullable AnnotatedElementSE element, ElementTypeSE elementType) 使用すべきではありません。AnnotatedElementSE のスコープ内のElementTypeSE が null 以外の値を必要とするかどうかを判別します。このメソッドは、アノテーション付き要素からデフォルトのjavax.annotation.Nonnull nullabilityルールを決定します- パラメーター:
element- 宣言のスコープは、PackageSE、ClassSE、またはMethodSE になります。null にすることもできます。elementType- 要素型。- 戻り値:
ElementTypeSE がデフォルトで null 値を許可する場合、または指定されたAnnotatedElementSE が null の場合は false です。
isExplicitNullable
使用すべきではありません。MethodParameterが null 許容と見なされるように明示的にアノテーションが付けられているかどうかを判別します。null 可能性ルールは、メソッドとパラメーターのアノテーションから検出されます。javax.annotation.Nonnullがjavax.annotation.meta.When#UNKNOWN、javax.annotation.meta.When#NEVER、javax.annotation.meta.When#MAYBEのいずれかに設定されている場合、MethodParameterは null 可能と見なされます。- パラメーター:
methodParameter- インスペクションするメソッドパラメーター。- 戻り値:
- パラメーターが null 許容の場合は true、それ以外の場合は false。
Nullnessが推奨されています。