我正在尝试根据从 HTTPRequest 对象中提取的属性在我的代码中处理许多不同的情况。问题是,根据 Request 内容,不同的数据被拉入填充 ArrayList,但格式是相同的。
if (request.getAttribute("timePeriod").equals(null)) {
ArrayList<ArrayList<MyWeirdObject>> HM = Test.getGlobalChallenge();
}
else {
ArrayList<ArrayList<MyWeirdObject>> HM = Test.getGlobalChallengeByMonth(Test);
}
如果我在赋值之前不初始化它,代码(在 JSP 中)当然会说它无法解析 HM 对象。
ArrayList<ArrayList<MyWeirdObject>> HM = new ArrayList<ArrayList<MyWeirdObject>>();
if (request.getAttribute("timePeriod").equals(null)) {
ArrayList<ArrayList<MyWeirdObject>> HM = Test.getGlobalChallenge();
}
else {
ArrayList<ArrayList<MyWeirdObject>> HM = Test.getGlobalChallengeByMonth(Test);
}
但是如果我初始化它,它会提示重复的局部变量。我如何设置它以根据不同情况进行不同的初始化/分配?
最佳答案
不要在 if block 中再次声明 ArrayList。
ArrayList<ArrayList<MyWeirdObject>> HM;
if ((request.getAttribute("timePeriod") == null) {
HM = Test.getGlobalChallenge();
}
else {
HM = Test.getGlobalChallengeByMonth(Test);
}
关于java - 关于 ArrayList 条件赋值的范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025538/