[Java]Serializable序列化

Java的Serializable序列化是個很好用的東西,平常可能很少會遇到使用。

Serializable大概來說就是把Java Object變成序列,可以傳輸到其它Java的應用程式上,最好的例子就是ServerSocket應用,大部份的二個不同的Service要相互利用socket溝通。

最簡單的方式就是傳送文字指令、xml、編碼過的資訊,而在Java裡提供了一個很好用的機制,當二邊Socket Service均使用Java開發時,則可在二邊放置相同的class Object(含有相同的package路徑),再利用java.io.ObjectInputStreamjava.io.ObjectOutputStream來傳送及接到,可以設計一個Java Bean,在client接設定屬性後傳送給Server,在由Server接收後,直接取用Bean的值。

底下提供一個Java Bean implements Serializable的範列

public class User implements java.io.Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private String account;
    private String name;
    private String isuse;
    private String email;
    private String mobile;
    private String tel;
    private String expain;
    private String userType;
    
    public User(String account, String name, String isuse, String email,
            String mobile, String tel, String expain, String userType) {
        super();
        this.account = account;
        this.name = name;
        this.isuse = isuse;
        this.email = email;
        this.mobile = mobile;
        this.tel = tel;
        this.expain = expain;
        this.userType = userType;
    }
    public User()
    {
        this("","","","","","","","");
    }
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getIsuse() {
        return isuse;
    }
    public void setIsuse(String isuse) {
        this.isuse = isuse;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    public String getTel() {
        return tel;
    }
    public void setTel(String tel) {
        this.tel = tel;
    }
    public String getExpain() {
        return expain;
    }
    public void setExpain(String expain) {
        this.expain = expain;
    }
    public String getUserType() {
        return userType;
    }
    public void setUserType(String userType) {
        this.userType = userType;
    }
    
}

One thought to “[Java]Serializable序列化”

發表迴響