From cd4bed46e26904a222ef2dd9093bc652dcb5c94f Mon Sep 17 00:00:00 2001 From: xiangwb Date: Sat, 10 Feb 2018 17:24:30 +0800 Subject: [PATCH] merge --- boot-service/src/main/java/com/xwbing/demo/LambdaDemo.java | 2 +- boot-service/src/main/java/com/xwbing/demo/demo.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/boot-service/src/main/java/com/xwbing/demo/LambdaDemo.java b/boot-service/src/main/java/com/xwbing/demo/LambdaDemo.java index bcf687a..4739f80 100644 --- a/boot-service/src/main/java/com/xwbing/demo/LambdaDemo.java +++ b/boot-service/src/main/java/com/xwbing/demo/LambdaDemo.java @@ -98,7 +98,7 @@ public class LambdaDemo { CompletableFuture[] futures = new CompletableFuture[size]; List finalList = new ArrayList<>(size); for (int i = 0; i < size; i++) { - finalList.add(null);//必须有这步,否则会下标越界 + finalList.add(null);//在异步之前size+1,必须有这步,否则会下标越界 Integer integer = list.get(i); final int pos = i; futures[i] = CompletableFuture.supplyAsync(() -> finalList.set(pos, integer), taskExecutor);//按原来顺序存 diff --git a/boot-service/src/main/java/com/xwbing/demo/demo.java b/boot-service/src/main/java/com/xwbing/demo/demo.java index 66136af..36ea27c 100644 --- a/boot-service/src/main/java/com/xwbing/demo/demo.java +++ b/boot-service/src/main/java/com/xwbing/demo/demo.java @@ -21,6 +21,7 @@ public class demo { CompletableFuture[] futures = new CompletableFuture[size]; List finalList = new ArrayList<>(); for (int i = 0; i < size; i++) { + finalList.add(null); Integer integer = list.get(i); int finalI = i; futures[i] = CompletableFuture.supplyAsync(() -> finalList.set(finalI, integer));