首页 / JAVA / java – 注释帮助
java – 注释帮助
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 注释帮助,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2104字,纯文字阅读大概需要4分钟。
内容图文
![java – 注释帮助](/upload/InfoBanner/zyjiaocheng/812/93d3c4889a0a482c8f8e59101b2ee705.jpg)
编辑 – @ Uri正确地指出这是滥用注释;试图在注释中实际创建菜单数据本身就是愚蠢的.
它们很适合绑定,但我认为我会坚持使用它们将文本数据链接到方法(@Menu(“文件”)部分),因为它比反映到方法名称更明确和灵活.我也搞砸了很多东西.我会在几天内将代码发布在这里作为答案.
– 原始帖子 –
我没有使用这些新奇的注释,但它们看起来非常有趣.我无法弄清楚语法(或者更恰当地说,使用它的最佳方式).
在编写一些代码以响应这个question时我发现我的方法已经过时了.
我曾经解析一个字符串来定义我的方法结构,然后使用反射将它传递给类,但我认为注释可以创建一个更好的菜单结构.
我想用这样的东西替换文件中的测试类:
@TopMenu("File,Edit")
@Menu(name="File","Save,Load,Print,Preview,Quit")
@Menu(name="Print","Preview,Print")
@Menu(name="Edit","Copy,Paste")
public class TestMenu {
@MenuItem ("Save")
public void save() {
System.out.println("saved");
}
@MenuItem ("Load")
public void load() {
System.out.println("loaded");
}
...
并将整个类传递给一个方法,该方法制造并返回绑定到类实例的JMenuBar而没有进一步的输入.
第一个问题是我无法弄清楚如何传递一个字符串的“默认”,他们都想拥有(attribute =“value”)而不仅仅是(“value”),这可以做到吗?我可以没有它,但它有点冗长.如果我能摆脱parens和/或引号会更好,但我没有屏住呼吸(我想这样做我必须为每个菜单项定义一个单独的界面,这是不可接受的).
其次,它不喜欢单个类上的多个@Menu标记.我可以通过解析单个字符串来解决这个问题,但我想知道是否还有其他方法.
最重要的是,是否有一个图书馆已经这样做了? (如果没有人提出一个,我会在我开始工作时将代码发布到这个帖子,以防其他人感兴趣.)
解决方法:
我看到附加多个注释的方式是使用容器注释,然后将项指定为数组.
@Retention(RetentionPolicy.RUNTIME)
public @interface Menu {
String name();
String[] children();
}
@Retention(RetentionPolicy.RUNTIME)
public @interface MenuBar {
Menu[] value();
}
@Retention(RetentionPolicy.RUNTIME)
public @interface MenuItem {
String value();
}
@MenuBar(
{
@Menu(name="File", children= {"Save","Load","Print","Preview","Quit"}),
@Menu(name="Print", children= {"Preview","Print"}),
@Menu(name="Edit", children= {"Copy","Paste"})
}
)
public class TestMenu {
@MenuItem ("Save")
public void save() {
System.out.println("saved");
}
@MenuItem ("Load")
public void load() {
System.out.println("loaded");
}
}
内容总结
以上是互联网集市为您收集整理的java – 注释帮助全部内容,希望文章能够帮你解决java – 注释帮助所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。