当我尝试调用方法时,我遇到Stackoverflow异常的问题。 代码如下:
public String peek(String nomeStanza) throws RemoteException
{
String srvName=ServerMondo.getServerFromStanza(nomeStanza);
if(!srvName.equalsIgnoreCase(""))
{
if(!srvName.equalsIgnoreCase("Master"))
{
services=common.CommonUtils.initservices(srvName);
services.addListener(nomeStanza,this.getNome());
当我拨打services.addListener
时会出现问题。
此处调用的方法addListener
是:
@Override
public void addListener(String nomeStanza,String nomeAscoltatore)
throws RemoteException {
ServerStanze.getStanza(nomeStanza).addListener(nomeAscoltatore);
}
下面给出了从上述方法调用的addListener(nomeAscoltatore)
: -
public void addListener(String ascoltatore)
{
synchronized(ascoltatori)
{
this.ascoltatori.add(ascoltatore);
}
}
我无法理解错误的位置。该计划在services.addListener(nomeStanza,this.getNome());
停止,我得到:StackOverflowException
。