草庐IT

java - 如何在 getter 链中跟踪 NullPointerException

如果我在这样的调用中收到NullPointerException:someObject.getSomething().getSomethingElse().getAnotherThing().getYetAnotherObject().getValue();我得到一个相当无用的异常文本,例如:Exceptioninthread"main"java.lang.NullPointerExceptionatpackage.SomeClass.someMethod(SomeClass.java:12)我发现很难找出哪个调用实际上返回了null,我经常发现自己将代码重构为如下内容:Fooret1

c# - Getter 和 Setter 是糟糕的 OO 设计吗?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。GettersandSettersarebad简要阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免使用它们,因为它们违背了封装和数据隐藏。既然是这种情况,在创建对象时如何避免它,以及如何在模型对象中考虑到这一点。在需要getter或setter的情况下,可以使用哪些其他替代方法?谢谢。 最佳答案 你错过了重点。那篇文章的有效且重要的一点是:Don'taskfortheinformatio

c# - Getter 和 Setter 是糟糕的 OO 设计吗?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。GettersandSettersarebad简要阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免使用它们,因为它们违背了封装和数据隐藏。既然是这种情况,在创建对象时如何避免它,以及如何在模型对象中考虑到这一点。在需要getter或setter的情况下,可以使用哪些其他替代方法?谢谢。 最佳答案 你错过了重点。那篇文章的有效且重要的一点是:Don'taskfortheinformatio

具有大参数的 Java 构造函数或 Java bean getter/setter 方法

我无法决定哪种方法更适合创建具有大量字段(10+)(都是必需的)getter/setter的构造方法的对象。构造函数至少您强制设置所有字段。JavaBeans更容易查看正在设置的变量,而不是一个巨大的列表。构建器模式在这里似乎不适合,因为所有字段都是强制性的,构建器要求您将所有强制性参数放入构建器构造函数中。谢谢,D 最佳答案 更好的方法(恕我直言)是使用某种构建器:MyClassa=newMyClassBuilder().blah("blah").foo("foo").doStuff().toMyClass();MyClass仍然

具有大参数的 Java 构造函数或 Java bean getter/setter 方法

我无法决定哪种方法更适合创建具有大量字段(10+)(都是必需的)getter/setter的构造方法的对象。构造函数至少您强制设置所有字段。JavaBeans更容易查看正在设置的变量,而不是一个巨大的列表。构建器模式在这里似乎不适合,因为所有字段都是强制性的,构建器要求您将所有强制性参数放入构建器构造函数中。谢谢,D 最佳答案 更好的方法(恕我直言)是使用某种构建器:MyClassa=newMyClassBuilder().blah("blah").foo("foo").doStuff().toMyClass();MyClass仍然

@Getter cheated me

下面这段代码,IDE里正常显示。不过,在build时,会报错。interfaceDoable{IntegergetCode();}@lombok.GetterclassDerivedClassimplementsDoable{intcode;}错误信息:Error:(11,5)java:DerivedClass不是抽象的,并且未覆盖Doable中的抽象方法getCode()Error:(13,13)java:DerivedClass中的getCode()无法实现Doable中的getCode()返回类型int与java.lang.Integer不兼容下面代码,IDE直接在int上标红线,提示错

java - Lombok 与 hibernate

这可能吗?没有看到太多关于它的讨论。 最佳答案 当然!根据我的经验,它非常有效。这是一个示例实体:@Entity@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)publicclassPingerEntity{//ID@Id@Getter@Setter@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;//USER@Getter@Setter@ManyToOne(fetch=FetchType.LAZY,optional

java - Lombok 与 hibernate

这可能吗?没有看到太多关于它的讨论。 最佳答案 当然!根据我的经验,它非常有效。这是一个示例实体:@Entity@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)publicclassPingerEntity{//ID@Id@Getter@Setter@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;//USER@Getter@Setter@ManyToOne(fetch=FetchType.LAZY,optional

java - 没有 getter/setters/toString/constructors 的清晰代码的 Lombok 替代方案

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭8年前。Improvethisquestion你知道Lombok的替代品吗?使用Lombok,我们可以忘记使用getter和setter以及toString搞乱类。我想在我的项目中使用它,但是我想知道是否有更好的选择?我使用的是Java1.7,无法更改为1.8。

java - 没有 getter/setters/toString/constructors 的清晰代码的 Lombok 替代方案

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭8年前。Improvethisquestion你知道Lombok的替代品吗?使用Lombok,我们可以忘记使用getter和setter以及toString搞乱类。我想在我的项目中使用它,但是我想知道是否有更好的选择?我使用的是Java1.7,无法更改为1.8。