2017-11-08 3 views
0

オブジェクトを.serファイルに読み書きしようとしています。このオブジェクトは、別のオブジェクトと整数の配列で構成されます。このよう は:デシリアライズ時にローカルクラスが互換性がありません

public class Ranking implements Serializable{ 
    private static ArrayList<Acabada> partides = new ArrayList<Acabada>(); 
    private int tipus_ordenacio; 
} 

serialitzationを使用して、コードが動作しているようです。生成されたファイルを開くと、いくつかの不確実なものが現れます。 しかし、(直列化復元)を足すとき、私はこのメッセージが表示されます。

tipusのordenaciooの1java.io.InvalidClassException:domain.Ranking。ローカルクラス非互換:ストリームclassdescのserialVersionUID = 5620111485391998837、ローカルクラスのserialVersionUID = -3886134201979592842

これは私がデシリアライズするために使用するコードです。

public void readFromFile() { 
 

 

 
     try { 
 
      FileInputStream fis = new FileInputStream("ranking.ser"); 
 

 
      ObjectInputStream ois = new ObjectInputStream(fis); 
 
      domain.Ranking ranking = (domain.Ranking) ois.readObject(); 
 
      
 
      ois.close(); 
 
      fis.close(); 
 

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

 

 
    }

私が間違って何をしているのですか? ありがとう!

+0

https://stackoverflow.com/questions/285793/what-is-a-serialversionuid-and-why-should-i-use -それ –

答えて

関連する問題