我有一个与 ==null
和 ==""
相关的简单问题,我想每个人都知道这个问题。
这是一个例子:
@SuppressWarnings("unchecked")
public void reorderingCriteia() {
ListModelList<ReorderData> headerList = new ListModelList<ReorderData>();
List<String> headerId = new ArrayList<String>();
String userReorderSelection = Services.userPreferenceService().getUserPreference().getUserOption("PROCESS_CHECKLIST_COLUMN_REORDER");
if (userReorderSelection == null || userReorderSelection == "") {
int i = 0;
for (ReorderData rd : availableReorderList) {
headerList.add(rd);
headerId.add("" + i);
i++;
}
folderProcessModel.setHeaderList(headerList);
folderProcessModel.setHeaderId(headerId);
} else {
headerList = ReorderDialogViewModelNew.jsonStringToList("FOLDER_PERMIT_LIST_COLUMN_REORDER", userReorderSelection, false);
headerId = compHelper.intializeSequnce(headerList, folderProcessModel.getAvailableHeaders());
folderProcessModel.setHeaderList(headerList);
folderProcessModel.setHeaderId(headerId);
}
}
我有一些问题:
这里的代码使用
if (userReorderSelection == null || userReorderSelection == "")
。我可以使用这个条件if (userReorderSelection == null)
吗?两者有什么区别?
最佳答案
== null
检查 null
引用。
== ""
检查空白/空字符串引用。在这里您可以使用 str.equals("")
来检查字符串是否为空/空白。 ==
用于对象引用检查。或者您可以使用 String.isEmpty()
进行检查。
此外,如果您只使用 if (userReorderSelection == null)
,那么您将只检查 userReorderSelection
是否为 null
与否,它不会判断字符串是否为空。
关于java - 混淆java中的 "==null"和 "==" ""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185941/