我有一个有20个属性的课程。如果属性不为null,则setter应抛出异常。像下面的东西
public void setLastname(String lastname) {
if(this.lastname!=null)
throw new IlegalArgumentException("lastname already set");
this.lastname=lastname;
}
如何在IntelliJ中自动生成此类设置器?
答案 0 :(得分:3)
IntelliJ IDEA无法自定义getter / setter模板vote for this request。
解决方法是创建Surround live template。通过这种方式,您可以键入变量,例如lastname
,然后选择它并调用将选区转换为
public void setLastname(String lastname) {
if(this.lastname!=null)
throw new IlegalArgumentException("lastname already set");
this.lastname=lastname;
}
有关详细信息,请参阅documentation。
答案 1 :(得分:3)
您可以创建实时模板:
http://www.jetbrains.com/idea/webhelp/creating-and-editing-live-templates.html
这应该像:
public void set$CAP_SELECTION$(String $SELECTION$) {
if(this.$SELECTION$!=null)
throw new IlegalArgumentException("$SELECTION$already set");
this.$SELECTION$=$SELECTION$;
}
你只需写:
姓氏,选择测试并使用模板
CAP_SELECTION是一种大写的变量($ SELECTION)
答案 2 :(得分:0)
我创建了一个模板来生成setter,这些setter是通过一些定制生成的。我的setter函数首先检查参数是否不为null,然后仅设置为输出。您可以在intellij中生成类似的模板。在生成设置器时,单击[...]按钮并创建一个新的自定义模板。仅供参考,我放下了模板要点链接。
Template for generating setter with checking not null in IntelliJ Idea