我有一個比較數據的代碼,但該數據包含空值而不是空格(“”),我猜它們可能/可能不同,但我嘗試比較重復的 NULL 值,例如 for(int i=0;i<length;i++) { String data=sample_data.getData();// contains about 1000 null rows if(data.equals(null) || data.equals("") || data== null ||data.isEmpty()) System.out.print("No Data"); }我本可以使用.contains,但這不起作用,因為它在循環中。沒有一種方法可以像No Data 我嘗試使用的try catch那樣打印輸出,因為為了確保是否發現任何錯誤并且同時是正確的isEmpty()并且.equals(null)在某個地方或另一個將異常拋出為 NULL 但即使在刪除和簡單地使用==Null實現數據本身為空的事實并進行比較是null.equals行不通的,但如果==我發現錯誤異常被更改為值 1 之后同樣的錯誤,我無法識別這一點。它是我展示的示例,我無法發布確切的內容,但以上內容非常清楚。有沒有其他方法可以處理這些NULL值。注意:我也不想使用循環來迭代數據并且每次都比較NULL值,因為已經有一個用于大量值的外部循環,而不是示例代碼。
2 回答

茅侃侃
TA貢獻1842條經驗 獲得超22個贊
在這個
String data=sample_data.getData();// contains about 1000 null rows
if(data.equals(null) || data.equals("") || data== null
您顯然擔心data可能為空。
如果它確實為空,那么語句中的第一個子句if將引發空指針異常......因為您不能equals在空引用上調用該方法。
你要
if (data == null || data.isEmpty())
這涵蓋了所有什么都沒有的情況,除了數據可能是“一些空格字符”的情況,但我會把它留給你。
添加回答
舉報
0/150
提交
取消