试图让包含数组列表的数组列表在我的程序中工作时遇到问题,我收到一个奇怪的警告说:将 @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;
最佳答案
你从来没有真正初始化这些数组列表中的任何一个。
你要
ArrayList<ArrayList<String>> mainArray = new ArrayList<ArrayList<String>>(); // or new ArrayList<>() in java 7
并在内部 for 循环内:
ArrayList<String> innerArrays = new ArrayList<String>(); // or new ArrayList<>() in java 7
另外,永远不要压制警告“只是为了使代码工作”。仅当您确切知道它们出现的原因以及您选择忽略它们的确切原因时才压制它们。
关于java - 方法中arraylist的arraylist,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10660393/