getLastNonConfigurationInstance总是返回null [英] getLastNonConfigurationInstance always returning 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屋!