-2

我存储了一个数组列表,在一个 myclass 中有一个数组列表,这个带有字符串的数组列表是空的,我不明白为什么。

由于外部数组列表的所有序列化都运行良好,并且我可以检索除数组列表中的字符串之外的所有信息,我认为序列化函数不是问题,但显然它是。我看不到我错过了什么,我花了一整天的时间试图找到问题,但我看不到。

任何人都知道我做错了什么?没有属性设置为瞬态的,所以我不明白为什么它不会被存储。

代码片段:

import java.util.*;
import java.lang.*;
import java.text.*;
import java.io.Serializable;

public abstract class Accounts implements Cloneable,Serializable
{

public Accounts()
{
}

//Attributes declared  
private static final long serialVersionUID = 1L;
public ArrayList<String> lsttransact = new ArrayList<String>();  //  <-- This array is empty after load from serialied file

这个类存储在一个arraylist中,这就是我序列化的那个,这样做这个标记的arraylist变为空。:(

//问候

4

1 回答 1

0

问题非常简单,因为在使用存储在此数组中的这些值之前的守卫是使用“==”而不是打开盒子并查看内部,因为引用发生了变化。.equals() 的使用很快解决了这个问题。

不管有多少英里的代码,我都必须学会通过代码追逐白兔!将其归结为缺乏经验……但这会随着时间的推移而出现!

于 2013-06-04T10:40:51.200 回答