Web提交表单数据时,参数值都是以字符串的形式上传的,后有后台的框架自动进行类型转换或手动转换,如struts2会自动把String自动转换为一些基本的数据类型,如int。
上个星期Ricki遇到一个很奇怪的问题,在Source类中有一个方法,如:
主要是设置音源播放时长的,值有用户在客户端输入的。不过一次测试中,发现上传音源失败,后台打印的错误如下:
纳闷的是,都没改代码,记得出错之前一直都可以的,于是断定输入值有问题,试过输入很小的值,如32时,上传音源没有问题,后使用Short.MAX_VALUE查过最大值为32767,输入值大于32767时,就会报上面的异常。对此,Ricki更加疑惑了,如果值大太的话,应该不是报这个异常啊,如:
其报的异常是:
有空的话,欢迎到[url=http://hongfanshu.blogbus.com/]红番薯[/url]逛逛
上个星期Ricki遇到一个很奇怪的问题,在Source类中有一个方法,如:
public void setLength(Short length) {
this.length = length;
}
主要是设置音源播放时长的,值有用户在客户端输入的。不过一次测试中,发现上传音源失败,后台打印的错误如下:
Caused by: java.lang.NoSuchMethodException: cn.entity.Source.setLength([Ljava.lang.String;)
纳闷的是,都没改代码,记得出错之前一直都可以的,于是断定输入值有问题,试过输入很小的值,如32时,上传音源没有问题,后使用Short.MAX_VALUE查过最大值为32767,输入值大于32767时,就会报上面的异常。对此,Ricki更加疑惑了,如果值大太的话,应该不是报这个异常啊,如:
Short shortData = Short.valueOf("32768");
其报的异常是:
Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"32768" Radix:10
at java.lang.Short.parseShort(Unknown Source)
at java.lang.Short.valueOf(Unknown Source)
at java.lang.Short.valueOf(Unknown Source)
at ricki.cheung.test.Test.main(Test.java:81)
有空的话,欢迎到[url=http://hongfanshu.blogbus.com/]红番薯[/url]逛逛