注释Java getter和setter 1 月,1 周 Questions & Answers 52688 有没有更好的标准方法在Java中创建getter和setter 必须为每个变量显式定义getter和setter,这相当冗长。有更好的标准注释方法吗 春天有这样的东西吗 甚至C#也有属性
# 1 楼答案 <>我不确定你是否认为它是“标准”,但是Project Lombok解决了这个问题。它们使用注释来替换Java的许多冗长内容 有些人正在寻找其他Java同级语言,如Groovy或Scala。恐怕JSR需要几年的时间才能找到一种“标准化”的方法,用Java来“修复”这个问题
# 3 楼答案 以下是一篇关于该主题的有趣文章: http://cafe.elharo.com/java/why-java-doesnt-need-properties-it-already-has-them/ 我认为属性是一条捷径,但它更多的是一个小功能,而不是一个真正重要的功能
# 4 楼答案 我创建了一些不特定于eclipse的注释 见http://code.google.com/p/javadude/wiki/Annotations 例如: package sample; import com.javadude.annotation.Bean; import com.javadude.annotation.Property; import com.javadude.annotation.PropertyKind; @Bean(properties={ @Property(name="name"), @Property(name="phone", bound=true), @Property(name="friend", type=Person.class, kind=PropertyKind.LIST) }) public class Person extends PersonGen { } 我的注释生成一个超类;我认为Lombok修改了正在编译的实际类(Sun官方不支持该类,并且可能会中断—我可能对它的工作方式有误解,但根据我所看到的情况,他们一定在这么做) 享受吧! --斯科特
# 5 楼答案 作为一种可能的选择,您是否尝试过Scala?它可以编译成Java字节码,并且有许多有趣的快捷方式,这些快捷方式可以使您作为Java程序员的生活变得更轻松 属性,例如: case class Person(var name:String, var age:Int); val p = Person("John", 4) p.name p.name = "Charlie" p.name 以及输出: defined class Person p: Person = Person(John,4) res7: String = John res8: String = Charlie
# 6 楼答案 大多数IDE都提供了生成代码的快捷方式(例如,Eclipse:Right click->;Source->;Generate getter&;setter),尽管我意识到这可能不是您想要的答案 一些IOC框架允许您对属性进行注释,以便它们可以在框架的上下文中使用,例如Tapestry IOC和最新的Spring,我认为(但这种使用仅限于框架使用)
# 1 楼答案
有些人正在寻找其他Java同级语言,如Groovy或Scala。恐怕JSR需要几年的时间才能找到一种“标准化”的方法,用Java来“修复”这个问题
# 2 楼答案
Eclipse有一个上下文菜单选项,可以为您自动生成这些内容,我相信许多其他IDE都是这样做的
# 3 楼答案
以下是一篇关于该主题的有趣文章: http://cafe.elharo.com/java/why-java-doesnt-need-properties-it-already-has-them/
我认为属性是一条捷径,但它更多的是一个小功能,而不是一个真正重要的功能
# 4 楼答案
我创建了一些不特定于eclipse的注释
见http://code.google.com/p/javadude/wiki/Annotations
例如:
我的注释生成一个超类;我认为Lombok修改了正在编译的实际类(Sun官方不支持该类,并且可能会中断—我可能对它的工作方式有误解,但根据我所看到的情况,他们一定在这么做)
享受吧! --斯科特
# 5 楼答案
作为一种可能的选择,您是否尝试过Scala?它可以编译成Java字节码,并且有许多有趣的快捷方式,这些快捷方式可以使您作为Java程序员的生活变得更轻松
属性,例如:
以及输出:
# 6 楼答案
大多数IDE都提供了生成代码的快捷方式(例如,Eclipse:Right click->;Source->;Generate getter&;setter),尽管我意识到这可能不是您想要的答案
一些IOC框架允许您对属性进行注释,以便它们可以在框架的上下文中使用,例如Tapestry IOC和最新的Spring,我认为(但这种使用仅限于框架使用)