java如何仅从Eclipse中声明的变量生成setter?
这里的问题是,我正在编写非常大的地图。 映射器将数据从BeanA映射(复制)到BeanB
要将字段从BeanA复制到BeanB,我使用mapper中的方法执行以下操作:
public static BeanB mapToBeanB(BeanA input){
BeanB output = new BeanB();
output.setName(input.getName());
output.setvariable1(input.getInfo());
output.set***** (and so on)
.......
return output;
}
我必须从每个bean复制45到130个字段(bean属性),我有27个bean要复制。所以你可以想象这需要付出多少努力
我的问题是:有没有办法让eclipse为我生成所有这些setter?
请注意,我不是指通常使用以下方法生成的getter和setter:
[在编辑器内单击鼠标右键->;源->;生成getter和setter] 因为这只在bean本身内部起作用。我希望能够仅在bean外部生成这些setter
我希望问题是清楚的
public class BeanB {
private String name;
private String nickname;
private String variable1;
private String variable2;
private String variable3;
public String getName() {
return name;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getVariable1() {
return variable1;
}
public void setVariable1(String variable1) {
this.variable1 = variable1;
}
public String getVariable2() {
return variable2;
}
public void setVariable2(String variable2) {
this.variable2 = variable2;
}
public String getVariable3() {
return variable3;
}
public void setVariable3(String variable3) {
this.variable3 = variable3;
}
public void setName(String name) {
this.name = name;
}
}
# 1 楼答案
正如唐所说,Eclipse有一个生成getter和setter的向导。他没有提到的是,向导有一个按钮,可以选择生成的所有setter
(我找到了一个指向Eclipse帮助信息的链接,却发现它没有描述这个按钮。呸!)
# 2 楼答案
在代码中生成getter/settes:
在编辑器内单击鼠标右键->;来源->;生成getter和setter
如果要同时指定多个setter的调用,如
等等,我认为eclipse中没有这样的功能
但是为什么不把所有的类变量都放到一个构造函数中,然后用这个构造函数在映射器中创建一个新对象呢?这样就不需要指定任何setter