对于异常解决:swagger2.9.2报java.lang.NumberFormatException:Forinputstring:““...感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲
对于异常解决:swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解java报错for input string,并且为您提供关于"xception in thread "main" java.lang.NumberFormatException: For input string: "20、Android开发build出现java.lang.NumberFormatException: For input string: "tle 0x7f0800aa"错误的解决方案、Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"、Error querying database. Cause: java.lang.NumberFormatException: For input string: xx的宝贵知识。
本文目录一览:- 异常解决:swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...(java报错for input string)
- "xception in thread "main" java.lang.NumberFormatException: For input string: "20
- Android开发build出现java.lang.NumberFormatException: For input string: "tle 0x7f0800aa"错误的解决方案
- Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
- Error querying database. Cause: java.lang.NumberFormatException: For input string: xx
异常解决:swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...(java报错for input string)
swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...
springfox-swagger 2.9.2 内置的swagger-models1.5.20 会引起Long类型格式转换异常,报错如下
java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_181] at java.lang.Long.parseLong(Long.java:601) ~[na:1.8.0_181] at java.lang.Long.valueOf(Long.java:803) ~[na:1.8.0_181] at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412) ~[swagger-models-1.5.20.jar:1.5.20] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]
这段报错的意思是,在将空串"",转换为Long类型时出现异常
解决方法一
对Long类型上的参数或属性上使用swagger注解时,指定example的值为数值型,比如
@ApiModelProperty(value = "公园",example="1", required = true)private Long parkId;
具体原因:
项目中很多地方都使用了swagger注解,但对Long类型添加注解时未指定example值,比如
//-------某个字段是Long类型的 这里未指定example的值,默认是空串 "" @ApiModelProperty(value = "公园", required = true) private Long parkId;
进入AbstractSerializableParameter类查看 getExample()方法
@JsonProperty("x-example") public Object getExample() { // 如果example未指定值,默认是 example="" if (example == null) { return null; } try { // 这里的 equals():只要参数不为null,并且是一个String类型,就返回true. // 判断被注解(属性,参数)的类型,进入第一个if内。 Long.valueOf("")-->抛出NumberFormatException异常被捕获 if (BaseIntegerProperty.TYPE.equals(type)) { return Long.valueOf(example); } else if (DecimalProperty.TYPE.equals(type)) { return Double.valueOf(example); } else if (BooleanProperty.TYPE.equals(type)) { if ("true".equalsIgnoreCase(example) || "false".equalsIgnoreCase(defaultValue)) { return Boolean.valueOf(example); } } } catch (NumberFormatException e) { LOGGER.warn(String.format("Illegal DefaultValue %s for parameter type %s", defaultValue, type), e); } return example; }
复现异常
public static void main(String[] arg.........
"xception in thread "main" java.lang.NumberFormatException: For input string: "20
spark.SparkContext: Registered listener com.cloudera.spark.lineage.ClouderaNavigatorListener
"xception in thread "main" java.lang.NumberFormatException: For input string: "20
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.valueOf(Integer.java:582)
at com.xiaodao.spark.examples.ml.AdaoKMeanService.main(AdaoKMeanService.java:166)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:730)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
17/10/12 17:42:02 INFO spark.SparkContext: Invoking stop() from shutdown hook
17/10/12 17:42:02 INFO ui.SparkUI: Stopped Spark web UI at http://192.168.1.30:4041
17/10/12 17:42:02 INFO spark.MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
17/10/12 17:42:02 INFO storage.MemoryStore: MemoryStore cleared
Android开发build出现java.lang.NumberFormatException: For input string: "tle 0x7f0800aa"错误的解决方案
查看异常栈没有发现项目代码的问题,因为问题是出现在layout文件中。
全局查找tle这个,发现在某个layout文件中title一词被变成ti tle了,结果Android就xjb报错了。
参考
Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
问题:Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
原因:18446744073709551615 --有20位,
而long类型的最大长度是: 19位:9223372036854775807
long类型的最大值是9223372036854775807,刚好长度是19个数字
解决:
1.类型换成 float, float的最大值为3.403E38, 也就是3.403*10的38次方,这个长度至少在38位吧,够用了
2.BigInteger. 非基本类型,需要用对应的+-*/方法,如下:
求和:
BigInteger add(BigInteger val) 返回两个大整数的和
求差:
BigInteger subtract(BigInteger val) 返回两个大整数的差
求积:
BigInteger multiply(BigInteger val) 返回两个大整数的积
求商:
BigInteger divide(BigInteger val) 返回两个大整数的商
求模:
BigInteger mod(BigInteger val) 用当前大整数对val求模
求乘方:
BigInteger pow(int exponent) 返回当前大整数的exponent次方
求余:
BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数
类型转换:
double doubleValue() 返回大整数的double类型的值
float floatValue() 返回大整数的float类型的值
long longValue() 返回大整数的long型值
int intValue() 返回大整数的整型值
其它:
BigInteger abs() 返回大整数的绝对值
BigInteger gcd(BigInteger val) 返回大整数的最大公约数
BigInteger max(BigInteger val) 返回两个大整数的最大者
BigInteger min(BigInteger val) 返回两个大整数的最小者
byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中
详见:https://blog.csdn.net/weixin_40254218/article/details/79474600
3.BigDecimal
BigInteger 任意精度的整数~
可以使用BigDecimal, 支持大整数,浮点运算
long也有限制,不过BigInteger可以存任意大的数
1、有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,可以作为比long还要大的数据类型
2、使用字符串或字符串数组、集合等能够存储比long大很多倍的整数变量类型(需数据类型转换)
Java中为什么float型最大值大于long型?
https://blog.csdn.net/u011240877/article/details/47723263
Java中有比long还大的整数类型吗
https://zhidao.baidu.com/question/240285392967051564.html
Error querying database. Cause: java.lang.NumberFormatException: For input string: xx
这是由于mybatis参数格式化异常导致,例如在动态sql拼接中String类型参数和数字比较。
<if test="param.xxx!= ''2''">
- 1
其中xxx为String类型,加单引号mybatis会认为String和char比较,也会导致报错
解决方法
- 用toString()转成字符串,
''2''.toString()
- 改为双引号"2",外层使用单引号。
<if test=''param.xxx!= "2"''>
关于异常解决:swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...和java报错for input string的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于"xception in thread "main" java.lang.NumberFormatException: For input string: "20、Android开发build出现java.lang.NumberFormatException: For input string: "tle 0x7f0800aa"错误的解决方案、Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"、Error querying database. Cause: java.lang.NumberFormatException: For input string: xx等相关内容,可以在本站寻找。
本文标签: