当前位置: 首页 > 面试题库 >

有没有一种方法可以使用Java中的注释来替换访问器?

微生毅然
2023-03-14
问题内容

我对Java 5注释有点陌生,我很好奇这两种方法是否可行:

此注释将为您生成一个简单的getter和setter。

@attribute
private String var = "";

@NotNull注解表明变量是粗野,空,这样你就不必每次都写样板代码。

/*
 * @param s @NotNull
 */
public void setString(String s){
    ...
}

这些都可以吗?如果可能的话,它们似乎是我要为其编写注释的第一件事。由于我在阅读文档时对这些内容了解不多,因此我假设注释并不是真正的含义。这里的任何方向将不胜感激。


问题答案:

注释处理发生在抽象语法树上。这是解析器创建并由编译器操纵的结构。

当前的规范(即将出现的链接)说,注释处理器不能更改抽象语法树。其结果之一是不适合进行代码生成。

如果您需要这种功能,请查看XDoclet。这应该为您提供我认为正在寻找的代码生成预处理。

对于您的@NonNull示例,JSR-305是一组注释,用于增强软件缺陷检测,并且包括@NonNull@CheckForNull以及许多其他注释。

编辑 :龙目岛项目正好解决了吸气剂和塞特一代的问题。



 类似资料:
  • 所以我在Protege中构建了一个本体,它有注释和子注释。我的意思是,一个概念可能有一个定义,而这个定义可能有一个注释。 我正在尝试使用Flask应用程序(我正在使用Python解析本体文件)使本体易于查询,但我似乎无法快速获得所有的注释和子注释。 我开始使用包,但它要求您自定义每个单独的注释属性(您不能仅仅获得所有注释属性的列表,因此如果添加类似的属性,您必须返回代码并添加,否则将不会获得它)。

  • 问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)

  • c#中的等价物是: 我只评论了一行的一部分,这样我就不会忘记我做的小加法,我可以通过删除/*和*/来重新激活它 我想在Excel的VBA中也这样做: 我认为没有办法直接做到这一点。尽管如此,能够评论部分内容还是非常有用的。。。 有没有办法至少模拟一下?

  • 问题内容: 有没有办法用Laravel的ELOQUENT ORM来“限制”结果? 和雄辩? 问题答案: 创建一个扩展口才的游戏模型,并使用此模型: 这里将获得30条记录,这里将抵消30条记录。 在最新的Laravel版本中,您还可以使用:

  • 问题内容: 这样,我可以有一个说出what_way_you_do_this = something的函数。这可能吗?基本上,我可以通过给函数提供一个包含变量名称的字符串来告诉函数要设置哪个变量。 谢谢 问题答案: 鉴于: 您可以通过以下方式访问值: 如果要查找全局变量,则应检查其容器();