我想打印数组中的所有值,但它只打印数组中的最后一个值,如何通过改进此代码来获得我想要的结果:
public void applyAttendence(ArrayList<String> presents, ArrayList<String> absents) {
ArrayList<String> present = new ArrayList<String>();
HashMap params = new HashMap();
// [232, 232, 12, 223]
String[] stringArray = presents.toArray(new String[0]);
if (presents.size() == 0) {
params.put("present", "");
} else {
// for(String pre:presents) {
params.put("present", stringArray);
System.out.println(" present[]" + presents);
System.out.println("hellow present man: " + params.get("present"));
// }
System.out.println("hellow present man: " + params.get("present"));
}
if (absents.size() == 0) {
params.put("absent", "");
} else {
for (String abs : absents) {
params.put("absent[]", abs);
}
// params.put("present[]", presents + "");
//
params.put("absent[]", absents + "");
}
}
答案 0 :(得分:1)
这是因为你每次都用不同的值覆盖相同的密钥
for (String abs : absents) {
params.put("absent[]", abs);
}
因此,您的hashmap只会根据键absent[]
答案 1 :(得分:0)
这可能是您已将数组定义为:
String[] stringArray = presents.toArray(new String[0]);
尝试初始化为:
String[] stringArray = new String[presents.size()];
stringArray = presents.toArray(stringArray );
答案 2 :(得分:0)
尝试使用此简化解决方案来显示所有出席情况
// Handle one-finger pans
let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(sceneViewPannedOneFinger))
sceneView.addGestureRecognizer(panRecognizer)
// Handle two-finger pans
let twoFingerPanRecognizer = UIPanGestureRecognizer(target: self, action: #selector(sceneViewPannedTwoFingers))
sceneView.addGestureRecognizer(twoFingerPanRecognizer)
func sceneViewPannedTwoFingers(sender: UIPanGestureRecognizer) {
print("two finger pan!!!")
}
func sceneViewPannedOneFinger(sender: UIPanGestureRecognizer) {
print("one finger pan!!!")
}