getLastNonConfigurationInstance总是返回null [英] getLastNonConfigurationInstance always returning null

查看:121
本文介绍了getLastNonConfigurationInstance总是返回null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 的HashMap MYMAP =(HashMap中)getLastNonConfigurationInstance();
 

MYMAP总是空。 getLastNonConfigurationInstance()返回一个对象。我的地图有两个键符号和名。

 公共对象onRetainNonConfigurationInstance()
    {
        HashMap的MYMAP =新的HashMap();
        myMap.put(符号,this.symbol);
        最终目标数据= MYMAP;
        返回的数据;
    }
 

解决方案

如果 getLastNonConfigurationInstance()返回一个非空的对象,那么(HashMap中)getLastNonConfigurationInstance()要么返回相同的对象(如果对象是一个的HashMap ),或抛出一个 ClassCastException异常

这是您所描述的情况是不可能的,除非你已经发现了Java的类型转换操作符一个长期隐藏的错误。提示:你有没有

确认 getLastNonConfigurationInstance()实际上是返回一个非空的对象。验证 MYMAP 实际上是空。如果你使用调试器来检查这些值,试戴打印到控制台。调试器能骗你一时,或至少是误导。

HashMap myMap = (HashMap) getLastNonConfigurationInstance();

myMap is always null. getLastNonConfigurationInstance() returns an object. My map has two keys "symbol" and "name".

public Object onRetainNonConfigurationInstance()
    {
        HashMap myMap = new HashMap();
        myMap.put("symbol", this.symbol);
        final Object data = myMap;
        return data;
    }

解决方案

If getLastNonConfigurationInstance() returns a non-null object, then (HashMap) getLastNonConfigurationInstance() will either return the same object (if that object is a HashMap), or throw a ClassCastException.

The situation that you describe is not possible, not unless you've uncovered a long-hidden bug in Java's cast operator. Hint: you haven't.

Verify that getLastNonConfigurationInstance() is actually returning a non-null object. Verify that myMap is actually null. If you're using a debugger to check those values, try printing them to the console instead. Debuggers can lie to you sometimes, or at least mislead.

这篇关于getLastNonConfigurationInstance总是返回null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆