gpt4 book ai didi

Java-参数声明

转载 作者:行者123 更新时间:2023-12-01 06:54:14 25 4
gpt4 key购买 nike

我正在研究这段代码,它是一个带有多个参数的构造函数。最后一个参数的声明用...是什么意思?

    /**
* Public constructor.
* @param servicePort the service port
* @param nodeAddresses the node addresses
* @param sessionAware true if the server is aware of sessions, false otherwise
* @throws NullPointerException if the given socket-addresses array is null
* @throws IllegalArgumentException if the given service port is outside range [0, 0xFFFF],
* or the given socket-addresses array is empty
* @throws IOException if the given port is already in use, or cannot be bound
*/
public TcpSwitch(final int servicePort, final boolean sessionAware, final InetSocketAddress... nodeAddresses) throws IOException {
super();
if (nodeAddresses.length == 0) throw new IllegalArgumentException();

this.serviceSocket = new ServerSocket(servicePort);
this.executorService = Executors.newCachedThreadPool();
this.nodeAddresses = nodeAddresses;
this.sessionAware = sessionAware;

// start acceptor thread
final Thread thread = new Thread(this, "tcp-acceptor");
thread.setDaemon(true);
thread.start();
}

最佳答案

它叫做 varargs,查看这里了解更多 http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html

The three periods after the final parameter's type indicate that the final argument may be passed as an array or as a sequence of arguments. Varargs can be used only in the final argument position.

正如您在代码中看到的,在本例中它是一个数组。

关于Java-参数声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16540402/

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