我遇到了一个问题,我想通过 jackson 使我们项目中的很多类可反序列化。问题是大多数类看起来像这样:
public class FinalFieds{
private final String field;
private final String secondField;
public FinalFieds(String field, String secondField)
{
this.field = field;
this.secondField = secondField;
}
public String getField()
{
return field;
}
public String getSecondField()
{
return secondField;
}
}
所以我发现在 jackson 中你可以做这样的事情:
public FinalFieds(@JsonProperty("field") String field, @JsonProperty("secondField") String secondField)
这很好用。问题是我无法在 intellij 中进行结构替换来为我工作。当我尝试时:
我所有的比赛都在“未分类的比赛”部分。 此外,当我尝试替换时,Intellij 只是从类中删除了一个构造函数。
知道我做错了什么,还是 intellij 中的已知错误?
即使是一个过于复杂的正则表达式也可以帮助我替换它(对于单参数构造函数,我可以自己创建它;问题是我们在这些类中的构造函数具有多参数构造函数)。
最佳答案
这是错误还是缺少功能取决于您如何看待它。 https://youtrack.jetbrains.com/issue/IDEA-141143
但是,可以分两步完成。先搜索要注解的构造函数参数:
class $Class$ implements OurCommonInterface {
$Class$($Type$ $parameter$);
}
其中 $parameter$
min: 1
max: unlimited
, This variable is target of the search
checked .
然后用范围 Previous Search Results
中的注释参数替换该参数:
$Type$ $parameter$
替换模板:
@JsonProperty("$parameter$") $Type$ $parameter$
关于java - 如何批量注释构造函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33044462/