让java args成为Arraylist不会工作

时间:2014-09-05 20:41:57

标签: java

由于以下问题,我几乎吓坏了:

public class FileMate {

   public static void main(String[] args) {

      Walker walker = new Walker();

      int mode = Integer.parseInt(args[0]);
      Checker.mode = mode;

      List<String> drives = new ArrayList<String>();

      for (int i=1; i == args.length; i++) {
         drives.add(args[i]+":\\");
      }

      for (String path : drives) {
         walker.walk(path);
      }
   }
}

第一个参数是一个整数,并成功分配给“mode”。 但应将驱动器号分配给列表“驱动器”的部分在运行时跳过。 我已经逐步调试它,args数组包含模式和2个驱动器号。

1 个答案:

答案 0 :(得分:5)

for循环条件必须为true才能运行循环,而不是停止。将您的条件更改为:

i < args.length

顺便提一下,您可能希望在开始访问args数组之前检查它的长度,以防用户没有提供任何参数。