我试图在Intellij中编写一个setter模板,它将生成传统的不可变setter,即在设置成员时创建并返回新对象实例的setter。 e.g。
Person setName(String name) {
return new Person(age, name);
}
以前有人来过这里吗?
答案 0 :(得分:3)
无答案:不要将此称为二传手。
按照惯例,setter会更改您调用它的实例。
所以相反称它为 createCloneWithName()或类似的东西。
我想你可能能够为IntelliJ提供特殊模板以用于这种克隆方法。但是不要为了你的目的而试图滥用二传手。
答案 1 :(得分:0)
在设置 - >编辑器 - >实时模板下,您可以将实时模板与模板一起使用,例如:
$TYPE$ set$NAME$($IN_TYPE$ $PARAM$) {
return new $TYPE$($PARAM$);
}
使用表达式“camelCase(NAME)”定义PARAM的位置 和TYPE使用表达式“className()”
定义