java – 为什么我在构造函数中收到StackOverflowError异常 在上面的代码中,我有一个简单的类和一个类级实例,我也有一个同名的本地实例.运行上面的代码时,我得到以下异常:解决方法您的main方法创建一个cloning实例,它会导致实例变量c的初始化,这会创建另一个cloning实例,依此类推……
java – kryo.readObject导致与ArrayList的NullPointerException 当我使用kryo反序列化ArrayList对象时,我得到一个NullPointerException.我可以看到StdInstantiatorStrategy在不调用其构造函数的情况下创建了一个ArrayList,而其中一个字段未初始化导致异常.文档说首先应该调用无参数构造函数,如果没有可用的话,应该使用StdInstantiatorStrategy来进行字段初始化.我究竟做错了什么?解决方法随着
java – 不变性和可读性 我目前正在处理这个问题,我有一个带有巨大构造函数的Immutable类,我想重构一些更易读的东西,而不会破坏不变性.解决方法一种选择是提供一个单独的构建器类,它提供了setter,它负责构造实际的对象.在Bloch的第二版“EffectiveJava”中,第2项为不可变类说明了这一点.关键的想法是:>构建器为每个选项都有一个可变字段.>构建器将自身作为单个参数传递给不可变类的构造函数.
java – Spring singleton创建了多次 我还尝试过singleton=“true”和scope=“singleton”,但它们没有任何差异.谢谢.解决方法Spring中的singelton-ness是每个应用程序上下文,每次创建应用程序上下文的新实例时,所有单例都将被实例化.您需要拥有单个应用程序上下文并在应用程序中重复使用它
java – 创建新的实例类引用 我有一个这样的枚举:所有这些dto类都扩展了相同的抽象类:这将是TestADto的示例Dto实现:是否有可能在枚举引用类中创建这些的具体实例,而不需要知道它具体是什么?让我说在一个函数中的某个点,即时通讯具有Enum_A.现在我想创建一个dto实例.对此最好的方法或模式是什么?我想要达到的一切是将dto名称分配给枚举,以便稍后在某些特定点创建它.但如果可能的话,不要创造巨大的条件……
java – Fortify high:用于调用私有构造函数的反射上的访问说明符操作 我使用反射来调用类的私有构造函数,以解决声纳扫描报告显示的分支覆盖问题.这是我工作的代码的片段:上面的代码解决了我的声纳扫描关键问题.但不幸的是,fortify现在在以下行显示了Access说明符操作问题:我怎样才能解决强化问题和sonarcube问题?任何帮助将不胜感激.解决方法我相信你不需要在你的UNITTC上运行强化扫描.编写它们是为了验证您的代码,并且它们不会遇到您的生产/实际环境.
如何避免在自定义java异常类中重复 我喜欢创建Exception类,其名称表示注意和抛出特定于应用程序的问题.为了定义它们,通常会定义一个新类,其超类是一些异常类型.由于父Exception类中有多个常见的构造函数,通常子类看起来像这样:从DRY的角度来看,我发现这种方法很乏味,特别是在定义了Exception层次结构时.我熟悉像Lombok这样有助于减少常见Java模式重复的工具;是否有任何建议可以解决异常类重复此特定问题的工具?
java.util.HashMap的Intellij弃用警告 IntelliJ似乎认为java.util.HashMap的no-arg构造函数已被弃用,正如它标记构造函数名称的样式所判断:如果我不想禁用检查,我该如何解决?
java – 覆盖构造函数 我对OverridingConstructors非常困惑.构造函数不能被覆盖是我在谷歌搜索它时得到的结果我的问题是当我运行这个时,我得到了结果请注意,子类中的测试方法已执行.是否显示超级构造函数被覆盖.是否正确?解决方法构造函数不是多态的–你根本不会覆盖它们.您在子类中创建新构造函数,并且每个子类构造函数必须链接(可能是间接)到超类构造函数.如果没有显式链接到构造函数,则会在子类构造函数体的开头插