方法中的arraylist的Arraylist

Edm*_*jas 3 java android arraylist

试图让一个包含arraylists的arraylist在我的程序中工作时遇到问题,我得到一个奇怪的警告说:将@SuppressWarnings"null"添加到processArray(),无论如何我添加这个或不是我的程序崩溃,有什么明显的我在这里做错了?任何帮助都会有很长的路要走.

      private ArrayList<ArrayList<String>> processArray(ResponseList<Status> responses){

      ArrayList<ArrayList<String>> mainArray = null;
      ArrayList<String> innerArrays = null;

      for (Status response: responses ){
          String name, status, imgUrl, time;

          name = response.getUser().getName();
          status = response.getText();
          imgUrl = response.getUser().getProfileImageURL().toString();
          time = response.getCreatedAt().toString();

          ArrayList<String> rtLinks = checkLinks(response.getText());

          if(rtLinks != null){

              for (String tLink: rtLinks){

                  innerArrays.add(name);
                  innerArrays.add(status);
                  innerArrays.add(imgUrl);
                  innerArrays.add(time);
                  innerArrays.add(tLink);

                  mainArray.add(innerArrays);

              }

          }


      }
    return mainArray;
Run Code Online (Sandbox Code Playgroud)

tru*_*ity 5

你永远不会真正初始化这些arraylists.

你要

ArrayList<ArrayList<String>> mainArray = new ArrayList<ArrayList<String>>(); // or new ArrayList<>() in java 7
Run Code Online (Sandbox Code Playgroud)

在内部for循环内:

ArrayList<String> innerArrays = new ArrayList<String>(); // or new ArrayList<>() in java 7
Run Code Online (Sandbox Code Playgroud)

此外,不要压制警告"只是为了使代码工作".只有当你确切地知道它们出现的原因以及你选择忽略它们的原因时才禁止它们.