最近在读jackson源码的时候发现有段代码返回类型写的是<T> T,而我自己一般写的是Object.上网搜了下这个语法糖,在stackoverflow上找到一个比较简单易懂的解释,搬运过来(https://stackoverflow.com/questions/5207115/java-generics-t-vs-object) 问题:下面2个方法的声明有何不同 public Object doSomething(Object obj) {....} public <T> T d
说明:为了避免在数组和集合的获取上增加null的判断,同时也能减少不必要的空指针异常,通常会在业务返回零数组或空集合. 方法: 1.数组: 定义全局静态常量来减少内存开销:private static final int EMPTY_ARRAY = new int[0];,当然,也可以直接局部变量等等. 2.集合: 使用工具类Collections的emptyList()进行放回. 参考: http://blog.csdn.net/tounaobun/article/details/850216
11-5. 从”模型定义”函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的”模型定义”函数 解决方案 假设已有游客(Visitor) 预订(reservation)房间(hotel ) 的模型,如Figure 11-5所示. Figure 11-5. A model for hotel reservations 想要返回每位游客房间预订条数和带来的总收入.因为很多地方需要这些信息,所以想要创建一个”模型定义”函数,接受一个查询参数,返回一个包含游客合计信息的匿名类型的集合: 2. 把Li