Java 重写toString()会产生错误

Java 重写toString()会产生错误,java,android,string,tostring,Java,Android,String,Tostring,server是我在重写toString()时创建的一个模型类 排队 @Override protected void onHandleIntent(Intent intent) { if (intent != null) { final String action = intent.getAction();

server是我在重写toString()时创建的一个模型类

排队

             @Override
                protected void onHandleIntent(Intent intent) {
                    if (intent != null) {
                        final String action = intent.getAction();
                        if (ACTION_UPDATE_SERVER.equals(action)) {
                            final Server server = (Server)intent.getSerializableExtra(SERVER);
                            handleActionUpdateServer(server);
        [...]
    }
    }
}
我得到这个错误

 final Server server = (Server)intent.getSerializableExtra(SERVER);
由于此错误,它似乎无法检索序列化的额外数据

但是如果我删除了toString()的实现,那么就不会有错误。问题是我需要重写toString,以便listView在列表中显示服务器类的对象时使用。(运行toString()方法填充列表时没有问题

我对toString的实现如下所示:

[package].[app] Java.lang.NullPointerException exception: cannot evaluate server.toString()
当我自己重写server.toString时,为什么它无法对其进行评估?为什么它甚至试图这样做?

不要将此标记为nullPointerException问题的副本,因为这对我没有任何帮助。
该应用程序在发生此错误后不会崩溃,它会继续运行,在我看来,该错误似乎与我的toString()实现有关,看起来像serverTitle=null,因为new StringBuilder(null)抛出NullPointerException,如果server=null,我认为错误消息一定会非常不同。请检查serverTitle值或使用以下代码:

 @Override
        public String toString() {
            StringBuilder strb = new StringBuilder(serverTitle);
            strb.append(" | Monitored: ");
            strb.append(isMonitored);
            strb.append(" | Online: ");
            strb.append(isOnline);
            return strb.toString();
        }

可能是因为服务器为null?在本例中,当调用null对象上的方法toString()时,您将获得NPE。在该行之前,输入if条件以检查服务器对象是否为null。这可能是(服务器)意图。getSerializableExtra(服务器);返回null。有很多东西可能为null,但您没有给出完整的错误输出,也没有隔离代码的哪一行实际导致了错误。
@Override
        public String toString() {
            StringBuilder strb = new StringBuilder();
            strb.append(serverTitle); 
            strb.append(" | Monitored: ");
            strb.append(isMonitored);
            strb.append(" | Online: ");
            strb.append(isOnline);
            return strb.toString();
        }