在 Android 中,如何防止用户在我的方法中插入空值。我不想在运行时触发异常。我希望它显示为编译错误
例如,如果我有以下方法
public void myMethod(Object o);
我不希望用户能够使用它来调用它
myMethod(null)
提前致谢
有多个 notnull 注释(例如IntelliJ)@NotNull
可以提供帮助,例如
public void myMethod(@NotNull Object o)
但是,如果您的方法的合同要求参数不为空,您还可以编写快速失败的防御代码,例如断言合同:
public void myMethod(Object o) {
Assert.assertNotNull(o);
Assert
例如junit.framework.Assert
包含在 Android 运行时中的位置。assert
默认情况下,VM 中禁用Java关键字。
为什么不这样做:
if(o==null)
o=default;