gpt4 book ai didi

java - 为什么可变参数应该是方法签名中的最后一个?

转载 作者:IT老高 更新时间:2023-10-28 20:43:52 24 4
gpt4 key购买 nike

如果我尝试编写如下方法

public void someStuff(Object ... args, String a )

我收到此错误

The variable argument type Object of the method someStuff must be the last parameter.

我不完全理解变量参数类型是最后一个的要求。任何输入都会有所帮助。

最佳答案

变量参数必须是最后一个,这样编译器才能确定哪个参数是哪个。

比如说你通过了

“测试”、“测试”、“测试”、“测试”

进入你的功能

public void someStuff(Object ... args, String a)

如果您希望 args 变量包含 3 或 4 个字符串,Java 无法解决。在撰写本文时,这对您来说可能是显而易见的,但它是模棱两可的。

但是,当它反过来时

public void someStuff(String a, Object ... args)

Java 编译器看到第一个字符串,将其粘贴到“a”中,然后知道剩余的字符串可以安全地放入 args 并且变量没有歧义。

关于java - 为什么可变参数应该是方法签名中的最后一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161912/

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