为了减少代码中的NullPointerExceptions,可以用@Nullable对参数进行约束:
其实并不是异常就不存在,只是把它放在统一的地方进行管理了。
示例代码如下:
@Test public void testCheckNotNull() { getUser("",null); } public void getUser(String username,@Nullable String address){ Preconditions.checkNotNull(username,"username"); }
可能是官方文档还没完全更新过来的缘故,2.0并没有
com.google.common.base.Preconditions这个类,而是相应的
com.google.inject.internal.Preconditions类。
而checkNotNull的源代码为:
public static <T> T checkNotNull(T reference, Object errorMessage) { if (reference == null) { throw new NullPointerException(String.valueOf(errorMessage)); } return reference; }
也就是把异常管理放在了统一的地方,这样可以提高代码质量。