java – 在一个工厂的构造函数中有太多的参数代码气味? 我有一个工厂类,目前在它的构造函数中有6个参数,我只需要添加另一个.通常,这会对我尖叫“嘿,你的班级有太多的依赖,所以这太多了!”我不认为这个问题在于构造函数的参数数量.其他建议的构建器模式对于包含大量状态的类是有用的.工厂很少出现这种情况.我反而认为你正在谈论的参数是依赖于其他类.真正的问题是你的工厂有太多的依赖关系–而不是它的构造函数需要太多的参数.相反,你需要看设计.为什么工厂有这么多依赖?
java – JsonMappingException没有单String构造函数/工厂方法Jackson 我正在尝试使用SpringbuildJackson支持来解析我的Controller中的UI发送的JSON数据,这是我的代码我的JSON字符串是我使用一些在线服务检查了JSON格式,它似乎是有效的,而tryingto解析JSON数据我得到以下异常我的CartDataHelper类包含用于productCode,categoryCode等的简单属性,没有参数构造函数解决方法如上所述,您的JSON包含Map而NOTMap
java – 使用反射从抽象基类访问构造函数 我正在玩Java的Reflection.我有一个带有构造函数的抽象类Base.我还有一些扩展Base的类.它们没有太多逻辑.我想用Base的构造函数实例化它们,而不必在这些派生类中编写一些代理构造函数.当然,我想用Reflection实例化那些派生类.说:任何想法,我如何用Base的构造函数实例化派生类?或者我必须声明那些愚蠢的代理构造函数?
java – 存储接受引用参数的构造函数 我上课了在java8中使用supplier,我可以存储构造函数引用但是,如果我的构造函数接受参数年龄如此现在不起作用,那么personsupplier的签名应该是什么?显然我可以做点什么.但是每个人的年龄必须不同,所以它不能解决我的问题.可能我应该使用其他东西而不是供应商?
java – 不可变对象和Spring / Sring MVC:正确的选择? 我通常设法将我的课程设计为不可变类,所以我在编程压力方面有很多优点.但是与Spring一起工作时,我有时会注意到,在大多数情况下,框架不鼓励这种设计,赞成经典的JavaBeans设计:默认的构造函数getter/setter.我真的不喜欢JavaBean设计的对象,因为他们的疯狂的可变性.所以我想知道我是否缺少一些东西我尽量让我的课堂设计尽可能优雅和可重复使用,但框架需要改变这个设计或允许它,但是在一个困难的方式…我原来想到的想法,并有更多的信息.
java – 如何调用超级(…)和这(…)在重载构造函数的情况下? 我以前从来不需要这样做,但由于两者都必须是构造函数中的“第一行”,应该如何处理它?对于这样的情况,最好的重构是什么?).只需在每个构造函数中执行任务.解决方法你不能同时调用超级(..)和这个(…).您可以做的是重新构建重载的构造函数的结构,以便最后一个被调用的调用将调用super(…).如果这不是一个选项,你必须在每个构造函数中执行赋值.
Java执行流程 – 重写方法首先比构造函数执行 我有同样的java文件中的以下代码.当我运行它,输出给我调用getSelectedFile构造函数调用调用getSelectedFile不应该输出构造函数调用调用getSelectedFile我使用的是Java5.解决方法MyFileChooser的构造函数相当于:getSelectedFile()的第一个调用是由MyFileChooser的基类构造函数创建的,该构造函数在System.out.println之前被标记为***的位置隐式调用.这是堆栈跟踪:
为什么这超过Java构造函数和静态初始化程序中的65,535字节限制? 这个数据是用这个小的python生成的:这是一个小样本:解决方法以下是使用{1000001,1000002,1000003}初始化数组的字节码:所以对于这个小数组,每个元素需要5个字节的Java字节码.对于更大的数组,数组索引和常量池中的索引将为大多数元素使用3个字节,这导致每个数组元素8个字节.因此,对于10000个元素,您不得不期望约80kB的字节码.用16位索引初始化大数组的代码如下所示:
为什么java.net.SocksSocketImpl是Java中的默认java.net.Socket实现? :),java.net.socket的构造函数是唯一的含义,也就是说,在某些情况下,这在某些情况下太早了将需要一个代理.
Java如何选择使用哪个构造函数? 我无法理解以下程序的输出.正确的输出是“doublearray”.为什么这个构造函数被选择为比另一个更具体,当两者都可以接受null?解决方法即使两个构造函数都可以接受null,double[]继承自java.lang.Object,因此更为具体.