Я получаю 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();
}
}
}
}
У вас есть NPE на 60-ти канале класса chatServer. Что на этой линии? – Divers
Нам нужно увидеть строку 60 '' chatServer''. Это некоторая строка внутри метода '' sendToAll''. –
добавлена строка 60 в вопрос – amf44