我有机器人连接到IRC服务器并且它一直没有崩溃机器人在线程"主要"中的异常崩溃。 bot.Report.main上的java.lang.NullPointerException(Report.java:47) 47行是
if (!(str.split(" ")[1].equals("QUIT") || str.split(" ")[1].equals("PART") || str.split(" ")[1].equals("JOIN")))
修改更多代码
String str = null;
PrintWriter o;
Socket s;
BufferedReader i1;
s = new Socket("", 6667);
i1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
o = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
o.print("PASS " + "" + "\r\n");
o.print("USER " + "" + " 0 * :" + ""
+ "\r\n" + "NICK " + "" + "\r\n");
o.print("JOIN " + "#test" + "\r\n");
o.flush();
while (s.isConnected()) {
str = i1.readLine();
StringBuffer stringBuffer = null;
if (!(str.split(" ")[1].equals("QUIT") || str.split(" ")[1].equals("PART") || str.split(" ")[1].equals("JOIN"))) {
......
答案 0 :(得分:1)
似乎if(str != null)
解决了我的问题。
答案 1 :(得分:1)
作为一种好的做法,在请求任何属性/方法之前,您应该始终检查null。
如果您可以重写if语句
if(str!= null&&(!(str.split("")[1] .equals(" QUIT")|| str.split( "")[1] .equals(" PART")|| str.split("")[1] .equals(" JOIN& #34;)))) ......