Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在定义动态数组的同时调用构造函数-Java_Java_Arrays_Constructor - Fatal编程技术网

在定义动态数组的同时调用构造函数-Java

在定义动态数组的同时调用构造函数-Java,java,arrays,constructor,Java,Arrays,Constructor,使用此示例: public class ExampleData { private List<String> directories; private String exampleString; public ExampleData (String[] directories, String exampleString) { this.directories = new ArrayList<String>(Arrays.<String>

使用此示例:

public class ExampleData {

  private List<String> directories;
  private String exampleString;


  public ExampleData (String[] directories, String exampleString) {
    this.directories = new ArrayList<String>(Arrays.<String> asList(directories));
    this.exampleString= exampleString;
  }
}
public class Test{

  private String[] directories={"/tmp/17","/tmp/18"};
  private ExampleData eD = 
        new ExampleData(directories, "Test");
}
public class Test{

  private ExampleData eD = 
        new ExampleData({"/tmp/17","/tmp/18"}, "Test");
}
为什么我可以用前面的代码而不是下一个代码调用它的构造函数:

public class ExampleData {

  private List<String> directories;
  private String exampleString;


  public ExampleData (String[] directories, String exampleString) {
    this.directories = new ArrayList<String>(Arrays.<String> asList(directories));
    this.exampleString= exampleString;
  }
}
public class Test{

  private String[] directories={"/tmp/17","/tmp/18"};
  private ExampleData eD = 
        new ExampleData(directories, "Test");
}
public class Test{

  private ExampleData eD = 
        new ExampleData({"/tmp/17","/tmp/18"}, "Test");
}

因为,首先需要创建/tmp/17和/tmp/18,然后才能将它们放入列表或其他任何内容中。它们的构造函数需要单独调用


此外,idk使用什么语言编写代码,但({/tmp/17“,“/tmp/18”},…)这似乎是错误的。我的意思是大括号中的曲线大括号…

Java就是不接受这种语法。你可以改为写作

private ExampleData eD = 
    new ExampleData(new String[]{"/tmp/17", "/tmp/18"}, "Test");

谢谢你的回答。