我想在我的应用程序的方法中添加字段验证(例如,字段不为null和正数)。
private void assertionTest(Integer i) {
// want to first assert here that i is not null and positive
// something like:
// Preconditions.checkArgument( i != null && i > 0, "i should be non null positive number!" );
//
System.out.println( "i: " + i);
}
Run Code Online (Sandbox Code Playgroud)
Java 8引入了Objects类,该类具有一些用于null检查验证的基本实用程序方法:
public static <T> T requireNonNull(T obj)
public static <T> T requireNonNull(T obj, String message)
Run Code Online (Sandbox Code Playgroud)
但是它仍然缺少番石榴的Preconditions类提供的详尽的验证列表,如下所示:
checkArgument(boolean) throws IllegalArgumentException
checkState(boolean) throws IllegalStateException
etc.
Run Code Online (Sandbox Code Playgroud)
Java 8+中是否有任何更好的方法可以进行字段验证,这样我就不必包括guava这样的外部库了?