在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