質問するログイン新規登録

回答編集履歴

1

追記

2021/08/16 12:09

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -16,4 +16,29 @@
16
16
  PrintPath(".");
17
17
  }
18
18
  }
19
+ ```
20
+ **追記**
21
+ 呼び出し元の List<String> に結果を入れて返したいのなら、
22
+ PrintPath の中で new してはいけません。
23
+ ```java
24
+ import java.io.File;
25
+ import java.util.List;
26
+ import java.util.ArrayList;
27
+
28
+ class Main {
29
+ public static void PrintPath(String path, List<String> data) {
30
+ File[] lf = new File(path).listFiles();
31
+ data.clear();
32
+ for (File f : lf)
33
+ data.add(f.toString());
34
+ for (int i = 0; i < data.size(); i++)
35
+ System.out.println(i + ": " + data.get(i));
36
+ }
37
+
38
+ public static void main(String[] args) {
39
+ List<String> data = new ArrayList<>();
40
+ PrintPath(".", data);
41
+ System.out.println(data);
42
+ }
43
+ }
19
44
  ```