1,錯誤示例:
var mtoken: string= ""
mtoken = intent.getstringextra(constantvalue.fc_token)//這裡在某種情況下,可能會為null
錯誤原因:kotlin初始化值中,如果沒有加上問號,說明你宣告的是乙個非null的變數,即使初始化你給賦值了,如果在後面可能給賦值了乙個null,還是不被允許的,會crash。
另: intent.getstringextra()這個方法沒有給設定預設值的寫法,即 intent.getstringextra("***","***x")這種方法是不存在的
2,正確寫法:
//mtoken雖然初始化為空字串,但是可以為null
var mtoken: string?= ""
mtoken = intent.getstringextra(constantvalue.fc_token)//這裡在某種情況下,可能會為null
或者 var mtoken: string= ""
//如果這裡為null ,將賦值給mtoken空字串(明顯這種方法更好)
mtoken = intent.getstringextra(constantvalue.fc_token)?:""//這裡在某種情況下,可能會為null
validate的非空驗證
設計的有jsp頁面,資源檔案,還有struts config.xml中validate true validation.xml中的資訊 首先在jsp頁面有如下 xml font color red html errors bundle user property username html erro...
kotlin中的空指標檢查問題
android系統上崩潰率最高的異常型別就是空指標異常。我們需要知道的是 空指標是一種不受程式語言檢查的執行時異常,只能有程式設計師主動通過邏輯判斷來避免。舉個例子,對於一段簡單的呼叫引數的j a 我們要使 安全性更高,更穩妥的做法就是再呼叫引數的方法之前先進行乙個判空處理。如下 public vo...
注意C Vector 的判空
在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,1...