小编sil*_*uez的帖子

使用java 9创建包装类的对象

Java 9的一个新特性是弃用包装器对象的构造函数.创建新Wrapper对象的唯一方法是使用它们的valueOf()静态方法.例如,对于Integer对象,Integer.valueOf为-128和127之间的值实现缓存,并在每次调用时返回相同的引用.

正如Integer类的API 所说"静态工厂valueOf(int)通常是更好的选择,因为它可能会产生明显更好的空间和时间性能." 和JLS说:" 给定相应基元类型的值,通常不需要构造这些框类的新实例.建议的构造替代方法是自动装箱或valueOf静态工厂方法.在大多数情况下,自动装箱将起作用,因此类型为基元的表达式可用于需要框类的位置 "

但是这个范围之外的值会发生什么?例如,Integer x = Integer.valueOf(456)是每次执行类时的新对象?

java wrapper java-9

4
推荐指数
1
解决办法
971
查看次数

equals(Object) 和函数式接口

根据 Java 语言规范(版本 8.0), \xe2\x80\x9c接口不继承自 Object,而是隐式声明许多与 Object 相同的方法。\xe2\x80\x9d 如果您在中提供来自 Object 类的抽象方法接口,它仍然是一个功能接口。

\n\n
@FunctionalInterface\ninterface EqualsInterface {\n    boolean equals(Object obj);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

编译器给出错误:\xe2\x80\x9c EqualsInterface不是函数式接口:在接口EqualsInterface\xe2\x80\x9d中找不到抽象方法。为什么?\n提前致谢

\n

java

4
推荐指数
1
解决办法
1882
查看次数

方法链和流畅接口之间的区别

我想知道方法链接和流畅接口之间的确切区别。据我了解,方法链只是运行先前方法返回对象的方法,同时避免临时变量。这方面的一个例子可能是

Integer.parseInt(str).intValue()
Run Code Online (Sandbox Code Playgroud)

相对于流式接口,对象的每个方法都由一个点链接起来,而不必与前一个方法相关这两种技术使修饰符方法返回到宿主对象,以便可以在单个表达式中调用多个修饰符,如下所示:

new Car().StartsEngine().OpenWindow()
Run Code Online (Sandbox Code Playgroud)

它是否正确?

design-patterns fluent-interface fluent method-chaining

3
推荐指数
1
解决办法
2841
查看次数

@GetMapping不会生成响应内容类型application / json

我正在用Spring 4和注释大手笔开发API Rest。到目前为止,我一直在使用
'@RequestMapping(value = "/myapi/{id}", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")',但是我想将简化版本与GET:一起使用 @GetMapping("/myapi/{id}")。问题是,摇摇欲坠没有正确显示响应内容类型:我得到了以下内容:

响应内容类型/

我尝试将HttpHeaders对象添加到响应实体,但不起作用。

你能帮助我吗?

spring swagger

3
推荐指数
1
解决办法
9714
查看次数

未知的数据类型:“ JSON”

我们试图在休眠状态下定义一个json列,如下所示:

实体类:

@TypeDef( name="CustomType", CustomJSONType.class)
...
@Type( name = "CustomType")
@Column
private JSONObject myColumn;
...
Run Code Online (Sandbox Code Playgroud)

CustomJSONType类实现UserType

当应用程序运行时,日志显示以下错误跟踪:

2018-02-06 08:46:44.067错误[company-operations-module ,,] 11804 --- [main] org.hibernate.tool.hbm2ddl.SchemaExport:HHH000389:不成功:创建表操作(id int4 not null ,创建时间戳记不为null,类型varchar(50)不为null,request_data json不为空,response_data json,状态varchar(50)不为空,user_id varchar(30),主键(id))2018-02-06 08:46 :44.067错误[操作模块,,] 11804 --- [主] org.hibernate.tool.hbm2ddl.SchemaExport:未知数据类型:“ JSON”未知数据类型:“ JSON”;SQL语句:创建表操作(id int4不为空,创建时间戳记不为空,类型varchar(50)不为空,request_data json ...)[50004-190] 2018-02-06 08:46:44.067 INFO [operations-模块,] 11804-[main] org.hibernate.tool.hbm2ddl。

任何的想法?提前致谢。

java hibernate

2
推荐指数
1
解决办法
918
查看次数