首页 > 解决方案 > 将数组对象推送到 Array 或 ArrayList 并从 Android 中的另一个类访问它

问题描述

我有一个数组对象,我将它推送到这样的 ArrayList:

static ArrayList<String> jsonResponse = new ArrayList<>();

//inside the method
strResp = response.body().string(); //the response I get from the server
jsonResponse.clear();  //clear the array first
jsonResponse.add(strResp);

现在从另一个班级,我像这样访问它,但我无法打印它,因为它说 NULL:

public class SecondClass extends ReactContextBaseJavaModule {

private FirstClass firstclass;

  public void getLocks(Callback callback) {
  System.out.println("Print object: " + firstclass.jsonResponse);
  }
}

第一个问题,在这种情况下,ArrayList 是实现我想要的正确方法吗?

第二个问题,为什么我不能在其他班级打印它?

我在 Android/Java 方面没有任何经验,所以我知道这对你们中的许多人来说可能是一个愚蠢的问题,但请尝试理解!

标签: javaandroidarrays

解决方案


在Java中访问静态元素,你不需要类(FirstClass)的实例。你只是做

FirstClass.jsonResponse();

你得到 null 的原因是因为你试图打印 List 对象,它不是一个字符串,而是一个字符串列表。因此,请执行以下操作:

if(!jsonResponse.isEmpty()){
    //print the first String in the List
    jsonResponse.get(0);
}

要回答您的其他问题,LinkedList 具有更多功能,但 List 更快。看看这个以获得更多解释


推荐阅读