我对Serializable接口的优点有些困惑。 我会进一步解释我的问题。实现Serializable为您提供什么优势而不是简单的方法?
比方说,我有一个叫狗类。
public class Dog {
private String name;
private int age;
public Dog(String name, int age) {
this.name = name;
this.age = age;
}
}
所以,现在我如果我需要将其转换成字符串,我可以覆盖toString方法,使其像做
@Override
public String toString() {
return name + "=" + age;
}
或创建一个具有一个方法。
现在,是什么实现Serializable接口做不同?或者是什么让它变得更好?
感谢您的帮助, BetaNyan。
谢谢!真的很感激它。另一个简单的问题是,我将如何利用它?就像我想发送一个Dog变量到某个东西一样,我会怎么做呢? (顺便说一句,我知道如何通过连接发送字符串等) – BetaNyan
那么,我不会推荐使用Serializable来完成它,但是使用Serializable,您可以在连接上层叠一个ObjectOutputStream,然后将数据写入ObjectOutputStream。使用协议缓冲区(我的首选解决方案),您将使用协议缓冲区语法来声明“Dog”消息,并且您将使用其自动生成的toByteArray(),toByteString()或writeTo()方法来写入获取二进制编码格式的数据并将其写入流。 –
感谢您的帮助! – BetaNyan