enter image description here Ich bin ziemlich neu in Java und ich habe eine Klasse Products
das ist Serializable
. Ich weiß nicht, was ich tat, aber meine Programme aufgehört zu arbeiten und gaben mir diesen Fehler:serialversionUID passt nicht
Exception in thread "main" java.io.InvalidClassException: cockeb.Product; local class incompatible: stream classdesc serialVersionUID = 1288455942608122525, local class serialVersionUID = -558553967080513790
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1829)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
at java.util.ArrayList.readObject(ArrayList.java:791)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422
Ich suchte herum und Wege gefunden, um es zu erklären, aber das macht mir jetzt nicht helfen. Ich ging sogar so weit, ein neues Projekt zu öffnen und nur den Text in jeder Klasse aus dem nicht arbeitenden Projekt zu kopieren und in das neue Projekt einzufügen, aber ich bekomme immer noch denselben Fehler. Ich erhalte diesen Fehler über alle meine Projekte (sie verwenden die gleiche Serializable
Klasse) Ich muss wissen, was ich getan habe, dies zu tun, damit es nicht wieder passiert, und was ich tun kann, um es zu beheben. Ich habe bereits versucht, die serialversionUID
zu deklarieren und das hat nicht funktioniert.
Produktklasse
package cockeb;
import java.io.Serializable;
import java.math.BigDecimal;
public class Product implements Comparable<Product>, Serializable {
private String upc;
private String shortDetails;
private String longDetails;
private BigDecimal price;
private Integer stock;
public String getUpc() {
return upc;
}
public void setUpc(String upc) {
this.upc = upc;
}
public String getShortDetails() {
return shortDetails;
}
public void setShortDetails(String shortDetails) {
this.shortDetails = shortDetails;
}
public String getLongDetails() {
return longDetails;
}
public void setLongDetails(String longDetails) {
this.longDetails = longDetails;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public Integer getStock() {
return stock;
}
public void setStock(Integer stock) {
this.stock = stock;
}
@Override
public int compareTo(Product t) {
return this.getUpc().compareTo(t.getUpc());
}
}
posten Sie bitte Ihre Produktklasse. –
danke für das Betrachten, ich hatte nie diesen Fehler vor – Spectre6