在Android中,如何防止用户向我的方法插入空值。我不想在运行时触发异常。我希望它出现的编译错误Android非空值
举例来说,如果我有以下方法
public void myMethod(Object o);
我不希望用户能够使用
myMethod(null)
感谢叫它提前
在Android中,如何防止用户向我的方法插入空值。我不想在运行时触发异常。我希望它出现的编译错误Android非空值
举例来说,如果我有以下方法
public void myMethod(Object o);
我不希望用户能够使用
myMethod(null)
感谢叫它提前
为什么不只是做:
有multiple notnull annotations如IntelliJ's @NotNull
可以帮助,例如,然而,如果你的方法的契约要求参数非空,你也可以编写防错快的防御性代码,例如,主张合同:
public void myMethod(Object o) {
Assert.assertNotNull(o);
其中Assert
是例如, junit.framework.Assert
包含在Android运行时。默认情况下,虚拟机中禁用Java assert
关键字。
你会更具体吗? –
由于编译器无法猜测输入值是什么,因此在编译时无法检测到空值。您仍然可以在您的方法中测试空值,并避免例外 – slecorne
在http://stackoverflow.com/questions/997482/does-java-support-default-parameter-values中查找实现相同的其他方式。这不完全是你要求的,但它会给你一个想法,以不同的方式实现整个事情。 – Shaleen