我在对象中写入对象,再把这个对象写到vector中,再写入文件,还原出来是,发现写入的对象不是读出来的对象
package Test;import java.io.Serializable;
import java.util.Vector;public class Cat implements Serializable{
public static final long serialVersionUID = 20080103L;
private int cat_no;
private String cat_name;
private Vector<Stock> stocks;public int getCat_no() {
return cat_no;
}
public void setCat_no(int cat_no) {
this.cat_no = cat_no;
}
public String getCat_name() {
return cat_name;
}
public void setCat_name(String cat_name) {
this.cat_name = cat_name;
}
public Vector<Stock> getStocks() {
return stocks;
}
public void setStocks(Vector<Stock> stocks) {
this.stocks = stocks;
}
}
////以上为类别bean
package Test;import java.io.Serializable;public class Stock implements Serializable{
public static final long serialVersionUID = 20080102L;
private int stock_no;
private String stock_name;public int getStock_no() {
return stock_no;
}
public void setStock_no(int stock_no) {
this.stock_no = stock_no;
}
public String getStock_name() {
return stock_name;
}
public void setStock_name(String stock_name) {
this.stock_name = stock_name;
}}
////以上为货物bean
package Test;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;public class Test {
private Vector<Cat> cats = new Vector<Cat>();
private Cat cat;
private Stock stock;
private Vector<Stock> stocks = new Vector<Stock>();
    private ObjectOutputStream oos;
    private ObjectInputStream ois;
public Test() {
for (int i = 0; i < 10; i++) {
stock = new Stock();
stock.setStock_no(i);
stock.setStock_name("stock" + i);
stocks.add(stock);
}
for (int j = 0; j < 10; j++) {
cat = new Cat();
cat.setCat_no(j);
cat.setCat_name("cat" + j);
cat.setStocks(stocks);
cats.add(cat);
}
writeToFile();
readToFile();
} private void writeToFile() {
try{
oos=new ObjectOutputStream(new FileOutputStream("c:\\Test.dat"));
oos.writeObject(cats);
oos.flush();
}catch(Exception e){
e.printStackTrace();
}
} @SuppressWarnings("unchecked")
private void readToFile() {
try{
ois=new ObjectInputStream(new FileInputStream("c:\\Test.dat"));
Vector<Cat> temps=(Vector<Cat>)ois.readObject();
if(cats.contains((Cat)temps.get(0))){

System.out.println("1,是一样的");
}else{
System.out.println("1,不一样的");
}
if(cats.contains(cats.get(0))){
System.out.println("2,是一样的");
}else{
System.out.println("2,不一样的");
}
System.out.println(cats.get(0).getCat_no()+","+cats.get(0).getCat_name());
for(int i=0;i<cats.get(0).getStocks().size();i++){
System.out.println(cats.get(0).getStocks().get(i).getStock_no());
System.out.println(cats.get(0).getStocks().get(i).getStock_name());
}
System.out.println("-------------------------------------------");
System.out.println(temps.get(0).getCat_no()+","+temps.get(0).getCat_name());
for(int i=0;i<temps.get(0).getStocks().size();i++){
System.out.println(temps.get(0).getStocks().get(i).getStock_no());
System.out.println(temps.get(0).getStocks().get(i).getStock_name());
}
}catch(Exception e){
e.printStackTrace();
}


} public static void main(String[] args) {
new Test();
}
}
还明显写出来的对象内容是一样吧,我的需求是删除文件读出来的Vector中的某一个对象