场景与问题
在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值。
基本的编写与步骤
1、写一个类,实现可序列化(如果以后数据是往数据库里存的,那么可以不序列化,节省资源)
2、私有化所有属性,保持一个默认构造方法(public 无参)
3、为每个属性提供get()、set()方法(如果是boolean型变量,最好把get改成is)
4、推荐覆盖实现equals()、hashCode()和toString()方法
import java.io.Serializable;
//第一步: 写一个类,实现可序列化
public class AddressVO implements Serializable{
//私有所有属性,保持一个默认构造方法(public 无参)
private String userId,name,address;
private boolean isMale;
public AddressVO(){
}
//这个全参构造方法,根据需要添加
public AddressVO(String userId, String name, String address) {
this.userId = userId;
this.name = name;
this.address = address;
}
//为每个属性提供get()、set()方法(如果是boolean型变量,最好把get改成is)
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public boolean isMale() {
return isMale;
}
public void setMale(boolean isMale) {
this.isMale = isMale;
}
//第4步:推荐覆盖实现equals()、hashCode()和toString()方法
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((userId == null) ? 0 : userId.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AddressVO other = (AddressVO) obj;
if (userId == null) {
if (other.userId != null)
return false;
} else if (!userId.equals(other.userId))
return false;
return true;
}
@Override
public String toString() {
return "AddressVO [userId=" + userId + ", name=" + name + ", address="
+ address + ", isMale=" + isMale + "]";
}
}