[英]Retrieving an array from a JSONArray and setting the array to a class variable
放棄gson之后,我遇到了一個很小的問題,但似乎無法確定問題所在。 我只是想從JSONArray獲取整數數組並將整數數組保存到類變量。
int length = myArray.length();
if(length>0){
for(int j=0; j<length; j++){
JSONArray test = myArray.getJSONArray(j);
myArray = new int[test.length()];
for(int k=0; k<test.length(); k++) {
myArray[k] = test.getInt(k);
}
}
// However, when I add myArray to the User constructor, the values don't "stick"
// ie,
User user = new User(x, y, z, myArray);
// At this point, myArray doesn't contain its values after I try to access them fromthe
// User class
這是User類:
public User(String x, String y, int z, int[] myArray){
this.x = x;
this.y = y;
this.z = z;
for(int i=0; i<myArray.length; i++){
Log.v(LOG_TAG, "User: myArray [" + i + "] = " + myArray[i]);
this.myArray[i] = myArray[i];
}
}
當我嘗試打印User的內容時,所有期望值都在那里,除了數組本身。 謝謝。
我看不到您的代碼中有任何重大缺陷,因此我將提供一些一般性建議...
在代碼中設置一些斷點,然后進入調試模式,以便可以確定問題的范圍。 在將myArray傳遞給用戶類之前,是否將其所有元素設置了? 如果不是,請退后一步,確保已解析JSON數組並將值正確傳遞給您。
我要更改的另一件事是,用於User構造函數的參數具有與內部字段相同的名稱。 您使用了'this'變量很好,但是您仍然想更改該參數名稱以避免任何可能的混淆,您可能正在將變量分配給它自己。
設置斷點並逐步執行程序,您應該能夠准確地確定問題最初發生的位置,然后將更容易解決。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.