gpt4 book ai didi

java - 如何定义一个可以在java中接受任意参数的方法?

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:18 25 4
gpt4 key购买 nike

如何在java中定义一个可以接受任意参数的方法?有演示吗?

最佳答案

varargs在 Java 5 中引入。

例如:

public String join(String... parts);

这实际上是一个快捷方式:

public String join(String[] parts);

parts参数在方法中作为一个数组使用,但是可以在不构造数组的情况下调用该方法(如obj.join(new String[] {part1, part2,第 3 部分}))

但是要非常小心,因为可能会出现歧义。例如:

public void write(String author, String... words);
public void write(String... words);

如果 obj.write("Mike", "jumps") 会调用哪个方法?编译器足够聪明,可以检测到歧义,但我遇到过一些编译器没有发现此类问题的情况(记不清了)

当对象属于同一类型或至少具有相同的功能目标时,使用可变参数是实用的。如果你想要不同的论点。例如:

public String publishBook(String title, [String author], 
[String isbn], [boolean hardcover]); // [..] would mean optional

然后你需要overload your method

关于java - 如何定义一个可以在java中接受任意参数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486454/

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