我创建了一个像这样的对象数组:
Handler handlers[] = new Handler[4];
每个处理程序对象都接受一个套接字对象作为参数。如何通过套接字处理程序?我想更一般地说,如何在对象数组中传递参数?
我试过这个:
handlers[1](someSocket);
它(显然?)没有用。
答案 0 :(得分:3)
此
Handler handlers[] = new Handler[4];
为4个Handler
个实例分配空间,它不会分配任何实际的Handler
个。你可以做点什么,
Handler[] handlers = new Handler[4];
for (int i = 0; i < handlers.length; i++) {
handlers[i] = new Handler();
}
甚至
Handler[] handlers = new Handler[] {
new Handler(), new Handler(), new Handler(), new Handler()
};
答案 1 :(得分:1)
迭代数组中的每个元素。创建一个新的处理程序,将其传递给套接字,并将其存储在数组中,如下所示:
Handler handlers[] = new Handler[4];
for(int index=0;index<4;index++){
handlers[index]= new Handler(socket);
}