gpt4 book ai didi

java - 如何将动态字符串值传递给方法?

转载 作者:行者123 更新时间:2023-12-02 09:36:13 27 4
gpt4 key购买 nike

我正在尝试创建一个应该动态接受字符串值并将其存储在数组列表中的方法。我正在尝试在此处实现方法重载。请参阅下面的示例并帮助我解决此问题:

public static void main(String[] args){
verifyFilesInFolder("folder1", "file1", "file2", "file3");
verifyFilesInFolder("folder2", "file1", "file2");
}

verifyFilesInFolder(String folder, ArrayList ???)
{

List<String> list = new ArrayList<String>();
int size=list.size();
for(int i=0; i<size;i++){
list.add(i); // is this correct??
}
}

将其存储在数组列表中后,我想将此预期列表与通过排序从应用程序捕获的实际列表进行比较。

希望您明白我正在寻找的要点。如果不是 ArrayList,请建议我一种通过只有一个方法来实现此目的的方法,但调用该方法时文件数量可能会发生变化。

最佳答案

您有 2 个选择:

重载

定义多个具有相同名称但参数数量不同的方法:

public void func(String s1) { ... }

public void func(String s1, String s2) { ... }

public void func(String s1, String s2, String s3) { ... }

可变参数

定义一个接受任意数量参数的方法:

public void func(String ...strings) {
// strings is of type String[]
String s1 = strings[0];
String s2 = strings[1]; // note, be careful with ArrayIndexOutOfBoundsException
// generally use a for-each loop
}

这可以称为:

  • func("1");
  • func("1", "2");
  • func("1", "2", "3");
  • func(new String[] {"1", "2", "3"});

编辑:

如果要将这些值添加到列表中,可以执行以下操作:

verifyFilesInFolder(String folder, String ...strings) {
List<String> list = Arrays.asList(strings);

for (String s : list) System.out.println(s);
}

一些输入/输出:

  • verifyFilesInFolder("folder", "item1"); -> 打印“item1”
  • verifyFilesInFolder("folder", "item1", "item2"); -> 打印“item1”和“item2”
  • verifyFilesInFolder("folder"); -> 不打印任何内容
  • verifyFilesInFolder(); -> 不会编译

关于java - 如何将动态字符串值传递给方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57491474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com