java字符串转换数值类型出现异常赋予默认值

http://blog.csdn.net/w47_csdn/article/details/77855126

可以自定义工具方法,例如:

public static int parseInt(String s, int defaultValue) {
 if (s == null) return defaultValue;
 try {
   return Integer.parseInt(s);
  } catch (NumberFormatException x) {
   return defaultValue;
  }
}
其他的parseLong、parseDouble与之类似。

也可以使用org.apache.commons.lang3.math.NumberUtils提供的工具类,需要导入commons-lang3.jar包

使用示例:

[java] view plain copy

  1. NumberUtils.toInt(userInfo.getUserPort(), 0);// 转换失败返回默认值0
源码示例:

[java] view plain copy

  1. /**
  2. * @param str  the string to convert, may be null
  3. * @param defaultValue  the default value
  4. * @return the int represented by the string, or the default if conversion fails
  5. * @since 2.1
  6. */
  7. public static int toInt(String str, int defaultValue) {
  8. if(str == null) {
  9. return defaultValue;
  10. }
  11. try {
  12. return Integer.parseInt(str);
  13. } catch (NumberFormatException nfe) {
  14. return defaultValue;
  15. }
  16. }
时间: 2024-08-01 20:19:52

java字符串转换数值类型出现异常赋予默认值的相关文章

字符串转换数值类型异常分析

在这篇文章中,我们来分析一下C#的函数int.Parse(),字符串转换数值类型时候发生的异常. int.Parse(String str): 这种方法是将数字内容的字符串转换为int类型. 如果字符串的内容为Null ,则抛出ArgumentNullException异常: 如果字符串内容不是数字,则抛出FormatException异常. 使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内. 好,现在来一段测试程序: 这是测试界面 输入int32表示范围内的

JavaScript基础 空字符串转为数值类型 Number()

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

【C#】妈妈再也不用担心自定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚

标题有点那啥,但确实能表达我掌握此法后的心情. 写自定义控件时往往会有一个需求,就是给属性指定一个默认值(就是可以在VS中右键该属性→重置),如果该属性的类型是内置值类型还好,直接使用DefaultValue特性就好,例如: [DefaultValue(false)] public bool CanSelect { get; set; } 对于能够根据字符串常量转换得到的类型也还好,可以这样: [DefaultValue(typeof(Font), "宋体, 9pt")] public

自定义控件如何给特殊类型的属性添加默认值 z(转)

自定义控件如何给特殊类型的属性添加默认值 z 定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚 标题有点那啥,但确实能表达我掌握此法后的心情. 写自定义控件时往往会有一个需求,就是给属性指定一个默认值(就是可以在VS中右键该属性→重置),如果该属性的类型是内置值类型还好,直接使用DefaultValue特性就好,例如: [DefaultValue(false)] public bool CanSelect { get; set; } 对于能够根据字符串常量转换得到的类型也还

自定义控件如何给特殊类型的属性添加默认值 z

定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚 标题有点那啥,但确实能表达我掌握此法后的心情. 写自定义控件时往往会有一个需求,就是给属性指定一个默认值(就是可以在VS中右键该属性→重置),如果该属性的类型是内置值类型还好,直接使用DefaultValue特性就好,例如: [DefaultValue(false)] public bool CanSelect { get; set; } 对于能够根据字符串常量转换得到的类型也还好,可以这样: [DefaultValue(t

mysql5.7 date类型无法设置&#39;0000-00-00&#39;默认值

现象: mysql5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for 'create_time' 原因: mysql5.7之后版本的sql_mode默认使用:(win系统见my.ini中约70行) sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER" 其中N

MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP

From: http://www.cnblogs.com/cyq1162/archive/2011/05/17/2049055.html 在 CYQ.Data 数据框架的反向工程中,遇到MySQL的问题又2个,记录下先. 1:对于时间的默认值,为:CURRENT_TIMESTAMP,不允许一个表存在两个日期都设置了:CURRENT_TIMESTAMP 解决的办法: 按理只设一个. 但在反向工程中,若遇到两个或以上的设置,为保证导数据的正常,直接取消日期的默认值. 2:text/blog类型不允许

java对象转换String类型的三种方法

在很多情况下我们都需要将一个对象转换为String类型.一般来说有三种方法可以实现:Object.toString().(String)Object.String.valueOf(Object).下面对这三种方法一一分析 一.采用Object.toString()toString方法是java.lang.Object对象的一个public方法.在java中任何对象都会继承Object对象,所以一般来说任何对象都可以调用toString这个方法.这是采用该种方法时,常派生类会覆盖Object里的t

C#DateTime.ToString 格式化时间字符串和数值类型转换为字符串

我们经常会遇到对时间进行转换,达到不同的显示效果,默认格式为:2006-6-6 14:33:34,如果要换成200606,06-2006,2006-6-6或更多的格式该怎么办呢?这里将要用到:DateTime.ToString的方法. 一.DateTime.ToString格式模式 下面列出了DateTime.ToString(string format) 中 format 参数.这些模式是区分大小写的:例如,识别"MM",但不识别"mm". d