实体类中方法名尽量避免set,get,报错com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException)
自己建了一个实体类
public class MissPoint implements Serializable{
private static final long serialVersionUID = -3623219494524321164L;
/*** 时间*/
private String date;
/*** 酒店数 */
private Integer count;
/*** 酒店id*/
private List<Integer> hotelList;
/**需要查询的时间**/
private Date occurDate;
/**所有漏点的数据**/
private List<DataMap> maps ;
private Map<Date, List<Integer>> data = new HashMap<Date, List<Integer>>();
public MissPoint() {
// TODO Auto-generated constructor stub
}
public MissPoint(Date date,List<DataMap> maps) {
// TODO Auto-generated constructor stub
this.occurDate = date;
this.maps = maps;
}
private void setData(){
for(DataMap map : maps){
int hotelid = map.getInt("hotel_id");
List<Integer> indexList = DataPointHelper.findByIsZero(map.get("text"), 0, -1);
for(Integer index : indexList){
Date pointDate = DataPointHelper.getTimeByIndex(occurDate, index);
if(data.containsKey(pointDate)){
data.get(pointDate).add(hotelid);
}else{
List<Integer> list = new ArrayList<Integer>();
list.add(hotelid);
data.put(pointDate, list);
}
}
}
}
public List<MissPoint> getList(){
List<MissPoint> missPoints = new ArrayList<MissPoint>();
this.setData();
for(Map.Entry<Date, List<Integer>> entry : data.entrySet()){
MissPoint point = new MissPoint();
point.setDate(DateHelper.format(entry.getKey(), "yyyy-MM-dd HH:mm:ss"));
point.setCount(entry.getValue().size());
point.setHotelList(entry.getValue());
missPoints.add(point);
}
return missPoints;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((date == null) ? 0 : date.hashCode());
return result;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public List<Integer> getHotelList() {
return hotelList;
}
public void setHotelList(List<Integer> hotelList) {
this.hotelList = hotelList;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MissPoint other = (MissPoint) obj;
if (date == null) {
if (other.date != null)
return false;
} else if (!date.equals(other.date))
return false;
return true;
}
@Override
public String toString() {
return "[date=" + date + ", count=" + count
+ ", hotelList=" + hotelList + "]";
}
}
其中给外界提供的方法写成了getList(),转json的时候一直报错,此类的list属性为空,纳闷了,找了半天没有找到名为list的属性,后来突发奇想,是不是那个getList(),让他以为我是获取属性list的值,但是又没有那个属性,所以空指针了,只能这么理解了,不知道对不对,反正改了方法名就不在报错了
实体类中方法名尽量避免set,get,报错com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException)的更多相关文章
- jackson json转实体对象 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
Jackson反序列化错误:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field的解 ...
- spring jpa 实体互相引用返回restful数据循环引用报错的问题
spring jpa 实体互相引用返回restful数据循环引用报错的问题 Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里 Problem对象,引用了标签列表ProblemLa ...
- Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)
当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...
- java使用类数组 报错Exception in thread "main" java.lang.NullPointerException
源代码如下: Point[] points=new Point[n];//Point是一个类 for(int i=0;i<n;i++) { System.out.print("请输入x ...
- Qt类声明中Q_OBJECT的作用与报错解决
2017-06-22 周四 大雨 北京 院里 新建作图类,继承自QCUstomPlot类 因为需要同时作8张图,都要单坐标缩放的功能,因此想干脆新建一个类,继承自QCUstomPlot,把需要的功能都 ...
- Visual Studio 下C#编译器在解析属性名时如果增加一个get_[您的另一个已经包含在类中属性名]的属性会报错,微软大哥这是什么鬼?
假设在在我们的vs环境新建一个类 copy以下代码,表面看好像一切都没有问题. using System; using System.Collections.Generic; using System ...
- Django | 模型类变更后生成迁移文件,报错:You are trying to add a non-nullable field 'BookName' to BookInfo without a default....
报错: You are trying to add a non-nullable field 'BookName' to BookInfo without a default; we can't do ...
- 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法
解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...
- jackson json转实体 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
jackson 2.2.2 由于vo中缺少json的某个字段属性引起 2种解决方法 1:vo中添加注解@JsonIgnoreProperties(ignoreUnknown = true) 2. m ...
随机推荐
- C# FormClosing FormClosed 区别详解
FormClosing事件 在窗体关闭时,FormClosing事件发生.此事件会得到处理.从而释放与窗体相关的所有资源. 如果取消此事件,则窗体仍然保持打开状态. 当窗体显示为模式对话框时,单击“关 ...
- java编程题(一)
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 p ...
- Why use Cache-Control header in request?
本地缓存也是缓存代理的一部分. 请求时使用Cache-Control 表示缓存的使用策略. 请求头里的no-cache表示浏览器不想读缓存,并不是说没有缓存.一般在浏览器按ctrl+F5强制刷新时,请 ...
- 通过Git向Github提交代码(Windows系统)
1.新建项目 在GitHub选择并创建一个项目.首先,登录 GitHub,单击页面右上角加号“+” ,选择“New repository” 选项. 填写项目名称及描述,默认项目为“Public”,如果 ...
- ADB 命令和monkey
一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debug工具. 2.adb工作原理 不是很理解?那就来看看它的工作原 ...
- 【Shell编程】Shell程序设计
1.Shell简介 作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统. Sh ...
- Coloring Flame Graphs: Code Hues
转自:http://www.brendangregg.com/blog/2017-07-30/coloring-flamegraphs-code-type.html I recently improv ...
- [Ynoi2015]即便看不到未来
题目大意: 给定一个序列,每次询问,给出一个区间$[l,r]$. 设将区间内的元素去重后重排的数组为$p$,求$p$中长度为$1\sim 10$的极长值域连续段个数. 长度为$L$的极长值域连续段的定 ...
- HAOI2010软件安装(树形背包)
HAOI2010软件安装(树形背包) 题意 有n个物品,每个物品最多会依赖一个物品,但一个物品可以依赖于一个不独立(依赖于其它物品)的物品,且可能有多个物品依赖一个物品,并且依赖关系可能形成一个环.现 ...
- Linux思维导图之sed、实战习题
命令解释: ◆sed 2p /etc/passwd第二行打印了两次其余一次 ◆sed-n '2p' /etc/passwd 只打印出第二行 ◆sed-n 1,4p' /etc/passwd 只打印出1 ...