enter image description here我是相当新的Java和我有一个类Products
即Serializable
。我不知道我做什么,但我的程序停止工作,并给了我这个错误:serialversionUID不匹配
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
我搜索周围,找到方法来声明它,但这并不能帮助我现在。我甚至开了一个新项目,只是复制非工作项目中每个类的文本并粘贴到新项目中,但我仍然遇到同样的错误。我在我所有的项目中都遇到了这个错误(他们使用相同的Serializable
类)我需要知道我做了什么,以便它不会再发生,以及我可以如何解决这个问题。我已经尝试声明serialversionUID
,但那没有奏效。
产品类别
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());
}
}
请发布您的产品分类。 –
感谢您对此的看法,我从来没有得到过这个错误 – Spectre6