我面臨著一個奇怪的情況。相信我。使用 Firestore 資料庫的新手。我有一個集合如下,
List<String> myStringList = new ArrayList<String>();
ApiFuture<QuerySnapshot> apiFutureResults = query.get();
QuerySnapshot querySnapshot = apiFutureResults.get();
List<QueryDocumentSnapshot> documents = querySnapshot.getDocuments();
for(QueryDocumentSnapshot document: documents)
{
log.debug(document.getString("myColumnName")); //prints value successfully
String myString = document.getString("myColumnName"); // Same value assigned to String type.
log.debug("Value of myString", myString); //prints value successfully
log.debug("Result is ::",myStringList.add(myString)); // prints empty or blank.
log.debug("Arraylist size::", myStringList.size()); // Returns empty or blank.
log.debug("Arraylist content::", myStringList); // Returns empty or blank }
我期待添加后是真的。就我而言,我得到的myStringList.add(myString);
回報是空的。從 QueryDocumentSnapshot (com.google.cloud.firestore) 獲取字串。在什么情況下 ArrayList.add() 方法回傳空。 或者這種從Firestore. 這不是安卓應用程式。只是一個Java產品。
uj5u.com熱心網友回復:
您能否提供用于實體化log變數的代碼。我懷疑問題可能出在您記錄變數的方式上。通常,要記錄的格式是(format, list of arguments),但是您擁有的代碼片段期望輸出由,
uj5u.com熱心網友回復:
您的代碼正在列印回傳的值myStringList.add()。我懷疑這不是你想要的。列印結果add()對于除錯目的似乎不是很有用。
也許您想要做的是首先將專案添加到串列中,然后列印串列的內容。
myStringList.add(myString);
log.debug("Result is ::",myStringList); // print the list
您可能還想在回圈完成后列印串列,而不是每次迭代。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490766.html
