是否可以使用没有注释的lombok将Integer
类型声明切换为int
或将final
添加到局部变量?
答案 0 :(得分:0)
我不明白你对int切换的整数是什么意思,但你可以使用:
声明一个最终的局部变量val name = "My Name";
这将创建一个名为name
的本地最终String变量。
披露:我是龙目岛项目的作者之一。
答案 1 :(得分:0)
解决方案是从JavacASTAdapter或EclipseASTAdapter扩展自定义处理程序。
来自标准lombok发行版的HandleVal可用作参考实现。
以下是上述示例转换的代码:
@ProviderFor(JavacASTVisitor.class)
public class SomeHandler extends JavacASTAdapter
{
@Override
public void visitLocal(JavacNode localNode, JCTree.JCVariableDecl local)
{
local.mods.flags |= Flags.FINAL;
if (local.vartype.toString().equals("int"))
local.vartype = localNode.getTreeMaker().Ident(localNode.toName("Integer"));
...
}
}