2

在两个线程之间进行通信时,我使用消息来传输数据。就我而言,是一个 HashMap。现在在重建数据时,我收到有关未经检查的类型转换的警告。这对我来说意味着(作为java noob),我根本不应该这样做,对吧?但是将 HashMap 从包中取出的正确方法是什么?

    Bundle dataBundle = msg.getData();
Serializable result = dataBundle.getSerializable("data");
HashMap<String,String> output = (HashMap<String, String>) result;

感谢任何指针!马库斯

4

1 回答 1

3

所以用你的方法

getSerializable("data");

没有强制转换就没有办法做到这一点,因为getSerializable方法总是返回Serializable实例。

如果不进行强制转换,您可以使用getParcelableExtra该返回值T,但我对您的应用程序上下文一无所知,所以我不确定是否可以使用。

于 2012-07-14T07:47:54.803 回答