我是靠谱客的博主 平淡黑夜,最近开发中收集的这篇文章主要介绍Can not set double field cn.ac.iie.entity.UliInfo.latitude to null value,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:

java.lang.IllegalArgumentException: Can not set double field cn.ac.iie.entity.UliInfo.latitude to null value
    at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[na:1.8.0_211]
    at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[na:1.8.0_211]
    at sun.reflect.UnsafeDoubleFieldAccessorImpl.set(UnsafeDoubleFieldAccessorImpl.java:80) ~[na:1.8.0_211]
    at java.lang.reflect.Field.set(Field.java:764) ~[na:1.8.0_211]
    at org.hibernate.property.access.spi.SetterFieldImpl.set(SetterFieldImpl.java:52) ~[hibernate-core-5.4.17.Final.jar:5.4.17.Final]
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:680) ~[hibernate-core-5.4.17.Final.jar:5.4.17.Final]
    at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:144) ~[hibernate-core-5.4.17.Final.jar:5.4.17.Final]
 

错误位置:

如下,实体类中的double longitude有NULL值

private double longitude;

private double latitude;

  longitude,latitude 表中这俩字段的类型为double,第一次因为有double类型的字段有NULL值所以报了上面的错,就把double改成了String,没想到一切正常 错误消失,但总觉得 这样太不应该了。经请教和百度得出,应该是把“double”的longitude,latitude改成“Double”,问题解决,这样才让人觉得妥当了。
  百度网友这样说:“Double是java定义的类,而double是预定义数据类型(8种中的一种),Double就好比是对double类型的封装,内置很多方法可以实现String到double的转换,以及获取各种double类型的属性值(MAX_VALUE、SIZE等等)。基于上述两点,如果你在普通的定义一个浮点类型的数据,两者都可以,但是Double是类所以其对象是可以为NULL的,而double定义的不能为NULL,如果你要将一些数字字符串,那么就应该使用Double类型了,其内部帮你实现了强转。
  原来,这还是一个经典面试题嘞

 

最后

以上就是平淡黑夜为你收集整理的Can not set double field cn.ac.iie.entity.UliInfo.latitude to null value的全部内容,希望文章能够帮你解决Can not set double field cn.ac.iie.entity.UliInfo.latitude to null value所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部