java - 如何将 byte[] 转换为 ArrayList<CustomObjec>?

标签 java android arraylist arrays

我从内部存储中收到一个 byte[],但现在我不知道如何将其转换为我的 ArrayList。

我指的是这篇文章。 -->>THIS<<--

代码 fragment :

                ArrayList<KFZInfo> toReturn = null;
                FileInputStream fis;
                try {
                    fis = openFileInput("kfzList");
                    ObjectInputStream oi = new ObjectInputStream(fis);
                    toReturn = (ArrayList<KFZInfo>) oi.readObject();
                    oi.close();
                } catch (FileNotFoundException e) {
                    System.out.println(e);
                } catch (IOException e) {
                    System.out.println(e);
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

toReturn = (ArrayList<KFZInfo>) oi.readObject();它抛出一个错误,内容为: java.lang.ClassCastException: byte[] cannot be cast to java.utio.ArrayList

这就是我在内部存储上写入的方式:

try {
                    FileOutputStream fos = openFileOutput("kfzList", Context.MODE_PRIVATE);
                    ObjectOutputStream oo = new ObjectOutputStream(fos);
                    oo.writeObject(listKfzInfo.toString().getBytes());
                    oo.flush();
                    oo.close();
                    fos.close();

                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();

}

如何解决这个问题?

最佳答案

改变

oo.writeObject(listKfzInfo.toString().getBytes());

oo.writeObject(listKfzInfo);

我假设 listKfzInfo 是 ArrayList<KFZInfo>KFZInfo implements Serializable并且 KFZInfo 内的所有字段实现Serializable

关于java - 如何将 byte[] 转换为 ArrayList<CustomObjec>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093431/

相关文章:

java - Spring RestTemplate - ResponseBody 类是什么样子的

java - 从 google 存储桶读取时出现 com.google.api.client.googleapis.json.GoogleJsonResponseException

java - 适用于 Android 开发环境的 Windows XP

android - 停止调用 ListView 的 getView

java - Android:多个 Activity 的抽屉导航

java - 使用 Collection<String> fooCollection = new ArrayList<String> 为什么这是一个不好的做法

用于提取价格信息的 Java Regex

java - 如何设置 Firebase Storage 存储订阅???因此用户使用我的应用程序,但他们必须支付额外的存储费用

java - 根据对象 JAVA 11 中值的自定义优先级对对象列表进行排序

java - 为什么ArrayList、HashMap等类没有同步?