gpt4 book ai didi

java - 混淆java中的 "==null"和 "==" ""?

转载 作者:行者123 更新时间:2023-11-29 09:41:02 24 4
gpt4 key购买 nike

我有一个与 ==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);

}
}

我有一些问题:

  1. 这里的代码使用 if (userReorderSelection == null || userReorderSelection == "")。我可以使用这个条件 if (userReorderSelection == null) 吗?

  2. 两者有什么区别?

最佳答案

== null 检查 null 引用。

== "" 检查空白/空字符串引用。在这里您可以使用 str.equals("") 来检查字符串是否为空/空白。 == 用于对象引用检查。或者您可以使用 String.isEmpty() 进行检查。

此外,如果您只使用 if (userReorderSelection == null),那么您将只检查 userReorderSelection 是否为 null与否,它不会判断字符串是否为空。

关于java - 混淆java中的 "==null"和 "==" ""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com