我有我的Java方法如下;Java返回空列表
public List<Lookup> findAll(String lang) {
Query query = entityManager.createNamedQuery("Lookup.findAll");
if (isValidLang(lang)) {
query.setParameter("lang", lang);
return query.getResultList();
} else {
//return empty list
}
}
現在該方法返回有效匹配lang的List。
但是,如果不是這種情況,我想返回一個空列表。我的問題是如何更新代碼&什麼是返回空列表的最佳方式,以便代碼不會失敗?
或'new ArrayList()'如果函數調用方想要修改返回的列表。 – emlai 2015-02-09 09:57:13
對於給定的例子,這實際上可能是一個壞主意......如果客戶端修改了返回的列表,它會強制它們進行復制。 'new ArrayList <>(findAll(...))'。最好不要隨機混合不可變/可變。你的回答也沒有解釋'emptyList'會拋出異常。 – Radiodef 2015-02-09 19:50:15
如果這取決於我,我會聲明該方法返回一個'UnmodifiableList',但開箱即用的java沒有這樣的事情。 – 2015-02-09 20:02:43