[英]Solr CloudSolrClient : Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
[英]java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
我正在研究 CodeName One,但在从数据库中检索数据时遇到此错误。
问题在于类型为 date 的元素 json 响应运行良好并且其他属性显示成功。
这是我的代码,我希望有人能帮助我。 先感谢您。
private Concour parseConcours(Map<String, Object> map) {
Concour c = new Concour();
c.setId(((Double) map.get("id")).intValue());
c.setSujet(map.get("sujet").toString());
c.setNom(map.get("nom").toString());
c.setImageName(map.get("imageName").toString());
c.setDescription(map.get("description").toString());
c.setCategorie(map.get("categorie").toString());
c.setCouleur(map.get("couleur").toString());
c.setDateDebut(new Date((((Double) ((Map<String, Object>) map.get("dateDebut")).get("timestamp")).longValue() * 1000)));
c.setDateFin(new Date((((Double) ((Map<String, Object>) map.get("dateFin")).get("timestamp")).longValue() * 1000)));
return c;
}
你可以做的是将你从 map 获得的日期字符串转换为 simpledateformat,然后在 setter 方法中分配它,如下所示。
c.setDateDebut(new SimpleDateFormat("dd/MM/yyyy").parse(map.get("dateDebut")));
c.setDateFin(new SimpleDateFormat("dd/MM/yyyy").parse(map.get("dateFin")));
试试这个:
try {
Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse(sDate1);
c.setDateDebut(date1);
}
catch (ParseException ex) {
System.out.println(ex.getMessage());
}
我正在处理 CodeName One,在从数据库中检索数据时出现此错误。
问题在于日期类型为 json 响应的元素运行良好,并且其他属性显示成功。
这是我的代码,我希望有人可以帮助我。 先感谢您。
private Concour parseConcours(Map<String, Object> map) {
Concour c = new Concour();
c.setId(((Double) map.get("id")).intValue());
c.setSujet(map.get("sujet").toString());
c.setNom(map.get("nom").toString());
c.setImageName(map.get("imageName").toString());
c.setDescription(map.get("description").toString());
c.setCategorie(map.get("categorie").toString());
c.setCouleur(map.get("couleur").toString());
c.setDateDebut(new Date((((Double) ((Map<String, Object>) map.get("dateDebut")).get("timestamp")).longValue() * 1000)));
c.setDateFin(new Date((((Double) ((Map<String, Object>) map.get("dateFin")).get("timestamp")).longValue() * 1000)));
return c;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.