2014-12-28 3 views
-1

Я получаю java.lang.NullPointerException, когда вызывается sendToAll(name).java.lang.NullPointerException при вызове метода

public clientThreader(Socket cliSocket) 
{ 
    try 
    { 
     outSocket = cliSocket; 
     readStream = new ObjectInputStream(outSocket.getInputStream()); 
     String name = (String)readStream.readObject(); 
     totConnected++; 
     clientNames.add(name); 
     System.out.println(name+" is connected"); 

     if(name!=null) 
      sendToAll(name); 
    } 
    catch(Exception e) 
    { 
     System.out.println("Fail here"); 
     e.printStackTrace(); 
    } 
} 

Это не входит в метод, называемый и результаты этого вывода:

java.lang.NullPointerException 
    at chatServer.sendToAll(chatServer.java:60) 
    at chatServer.access$200(chatServer.java:5) 
    at chatServer$clientThreader.<init>(chatServer.java:110) 
    at chatServer.setUpServer(chatServer.java:44) 
    at chatServer.start(chatServer.java:29) 
    at chatServer.main(chatServer.java:14) 

Я не понимаю, в чем причина Im получаю это исключение.

EDIT: Строка 60 является утверждение allCli.equals(null) ниже:

private void sendToAll(String newCli) 
{ 
    for(ObjectOutputStream allCli : clientOutStreams) 
    { 
     if(!(allCli.equals(null))) //line 60 
     { 
      try 
      { 
       System.out.println("here"); 
       allCli.writeObject(newCli); 
       System.out.println("here"); 
      } 
      catch(Exception sendFail) 
      { 
       System.out.println("SendToAll Failed"); 
       sendFail.printStackTrace(); 
      } 
     } 
    } 
} 
+0

У вас есть NPE на 60-ти канале класса chatServer. Что на этой линии? – Divers

+0

Нам нужно увидеть строку 60 '' chatServer''. Это некоторая строка внутри метода '' sendToAll''. –

+0

добавлена ​​строка 60 в вопрос – amf44

ответ

1

Изменение if(!(allCli.equals(null))) в if(allCli != null)

+0

Возможно, перепишите на 'allCli! = Null', теперь вы проверите противоположное ... –

0

Изменить if состояние от !(allCli.equals(null)) к allCli != null. Причина, по которой вы получаете NullPointerException, связана с тем, что объект null не имеет метода .equals, который вы можете вызвать.

+0

@ amf44 действительно проголосовать, если это сработало ..! – Abhishek

Смежные вопросы