在良好的编程实践中我们应该更喜欢什么? @Produces(" application / json")或@Produces(MediaType.APPICATION_JSON)?

时间:2016-02-03 09:19:51

标签: java json

关于REST Web服务。

  • @Produces("application/json")
  • @Produces(MediaType.APPICATION_JSON)

两者都以相同的方式工作,但第二个需要强制导入,即import javax.ws.rs.core.MediaType,这导致我的项目中有一个额外的导入,而第一个则没有。 如果第一个就行了,为什么我们甚至会引用第二个呢? 第二个增加进口数量&进口肯定会影响表现和执行不是吗?

1 个答案:

答案 0 :(得分:3)

对于你编译的课程没有区别:
由于javax.ws.rs.core.MediaType.APPLICATION_JSON是一个静态的最终String常量,因此编译的类将不会引用MediaType类,而只是在其常量池中包含String作为常量。

但是在源代码中使用常量有一个小优势,因为它可以防止拼写错误。