|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点在有的时分,我们但愿对Java对象实行“深拷贝”。
在Java中,没有供应相似的C++的拷贝机关函数,可是供应了默许的”克隆”接口Clonable。
假如我们要对一个只包括基本范例(int/long/String)的对象举行克隆,只必要完成Clonable并完成clone()函数便可。
以下:
1
2
3
4
5
6
7
8
9
10
publicclassRowimplementsCloneable{
longid;
Stringdata;
@Override
publicRowclone()throwsCloneNotSupportedException{
return(Row)super.clone();
}
}
假如要克隆一个援用了其他对象的Object,就要庞大一些了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
publicclassEmployeeimplementsCloneable{
privateintempoyeeId;
privateStringemployeeName;
privateDepartmentdepartment;
publicEmployee(intid,Stringname,Departmentdept)
{
this.empoyeeId=id;
this.employeeName=name;
this.department=dept;
}
//Modifiedclone()methodinEmployeeclass
@Override
protectedEmployeeclone()throwsCloneNotSupportedException{
Employeecloned=(Employee)super.clone();
cloned.setDepartment((Department)cloned.getDepartment().clone());
returncloned;
}
//Accessor/mutatorsmethodswillgothere
}
实践上,还能够经由过程序列化/反序列化、ApacheCommons的SerializationUtils举行深度拷贝。
参考文献:Aguidetoobjectcloninginjava
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。 |
|