我希望使用IntelliJ而不是串联、StringBuffer等来为toString方法创建String.format Idea模板。
例如,我有以下对象:
public class Foo {
private int id;
private String name;
private List<String> values;
}如果在默认情况下为所有字段生成toString,Idea将生成:
@Override
public String toString() {
return "Foo{" +
"id=" + id +
", name='" + name + '\'' +
", values=" + values +
'}';
}但我想提出以下几点:
@Override
public String toString() {
return String.format("Foo(id=%d, name=%s, values=%s)", id, name, values);
}发布于 2016-10-10 13:28:38
对于那些还在寻找这个的人来说:
public java.lang.String toString() {
return String.format(
"$classname (##
#set ($i = 0)
#foreach ($member in $members)
#if ($i != 0)##
, ##
#end
$member.name=%s##
#set ($i = $i + 1)
#end
)",##
#set ($i = 0)
#foreach ($member in $members)
#if ($i != 0)
,##
#end
#if ($member.primitiveArray || $member.objectArray)
java.util.Arrays.toString(this.$member.name)##
#else
this.$member.name ##
#end
#set ($i = $i + 1)
#end
);
}改编自此模板。
编辑
对于那些想知道这些东西是什么的人(我想知道为什么在这里结束了tbh,因为这个问题是非常具体的xD):这是一个生成toString方法的IntelliJ模板。
代码生成帮助您根据预置模板生成代码构造和重复元素,而不是手工编写所有内容。
https://stackoverflow.com/questions/35933114
复制相似问题