在intellij模板中区分int和double
differentiate int and double in intellij template
我正在 IntelliJ 中定义自定义 toString 模板。 IntelliJ 提供了一个基于 Velocity 脚本语言的模板系统。很棒的东西!
但我现在面临着一个特殊的问题。我需要区分 int
字段和 double
字段。本质上是生成类似(简化)的东西:
public String toString() {
String output = "";
output += "myIntField:" + Util.intDescription(myIntField);
output += "myDblField:" + Util.doubleDescription(myDblField);
return output;
}
对于 Integer
类型,它工作正常,但我似乎无法让它为原始 int
工作。
#if ($member.typeQualifiedName == "java.lang.Integer")
...
#end
#if ($member.typeName == "Integer")
...
#end
我可以使用 $member.primitive
和 $member.numeric
等方法进行构造,但其中 none 区分了 double
和 int
。
documentation of IntelliJ给我的印象是我走投无路了。
PS:当然可以解决,通过更改java code/api,可以简化toString()
方法所需的格式.但这对我来说真的是最后的选择。
#elseif ( $member.type == 'double' )
output += "myDoubleField:" + Util.doubleDescription(myDoubleField);
#elseif ( $member.type == 'int' )
output += "myIntField:" + Util.intDescription(myIntField);
出于某种原因,我无法访问 $member.isDouble 属性。它未在 IntelliJ's docs, the VTL Reference or the VTL User Guide 中列出,.type.
中也未列出
我首先打印出 $member 并列出了该对象的所有属性。我不确定为什么它列出了 isDouble。
我正在 IntelliJ 中定义自定义 toString 模板。 IntelliJ 提供了一个基于 Velocity 脚本语言的模板系统。很棒的东西!
但我现在面临着一个特殊的问题。我需要区分 int
字段和 double
字段。本质上是生成类似(简化)的东西:
public String toString() {
String output = "";
output += "myIntField:" + Util.intDescription(myIntField);
output += "myDblField:" + Util.doubleDescription(myDblField);
return output;
}
对于 Integer
类型,它工作正常,但我似乎无法让它为原始 int
工作。
#if ($member.typeQualifiedName == "java.lang.Integer")
...
#end
#if ($member.typeName == "Integer")
...
#end
我可以使用 $member.primitive
和 $member.numeric
等方法进行构造,但其中 none 区分了 double
和 int
。
documentation of IntelliJ给我的印象是我走投无路了。
PS:当然可以解决,通过更改java code/api,可以简化toString()
方法所需的格式.但这对我来说真的是最后的选择。
#elseif ( $member.type == 'double' )
output += "myDoubleField:" + Util.doubleDescription(myDoubleField);
#elseif ( $member.type == 'int' )
output += "myIntField:" + Util.intDescription(myIntField);
出于某种原因,我无法访问 $member.isDouble 属性。它未在 IntelliJ's docs, the VTL Reference or the VTL User Guide 中列出,.type.
中也未列出我首先打印出 $member 并列出了该对象的所有属性。我不确定为什么它列出了 isDouble。