【发布时间】:2022-08-19 16:03:11
【问题描述】:
我试图用这样的代码为getter(返回可选)创建空安全模板:
#if($field.modifierStatic)
static ##
#end
Optional<$field.type> ##
#if($field.recordComponent)
${field.name}##
#else
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}##
#end
() {
return Optional.ofNullable($field.name);
}
但是在尝试创建吸气剂时出现错误:
方法不正确\'可选get Product(){return Optional.ofNullable(product); }\'
看起来模板既不能解析字段类型,也不能正确地将“get”与字段名称(之间的空格)连接起来。
有人可以帮忙吗?我的 IntelliJ 版本:2020.03.04
-
在这种情况下它不起作用,因为 Velocity 将尖括号视为 html 标记。您可以尝试逃避它们(也许这可以帮助velocity.apache.org/engine/1.7/user-guide.html),或者您可以尝试创建一个可以在 getter 生成后使用的实时模板,也许像 Preferences |编辑 |实时模板 |爪哇 | C(可调用环绕声)
标签: java intellij-idea getter live-templates