scala – 任何方法来干掉这些用默认值转换数字的函数?
发布时间:2020-12-16 18:04:56 所属栏目:安全 来源:网络整理
导读:我有很多这样的功能: // Convert a string to integer,defaulting to 0 if it fails def safeToInt(s: String): Int = try { s.toInt } catch { case _: NumberFormatException = 0 } // Convert a string to long,defaulting to 0 if it fails def safeToL
我有很多这样的功能:
// Convert a string to integer,defaulting to 0 if it fails def safeToInt(s: String): Int = try { s.toInt } catch { case _: NumberFormatException => 0 } // Convert a string to long,defaulting to 0 if it fails def safeToLong(s: String): Long = try { s.toLong } catch { case _: NumberFormatException => 0 } // Convert a string to double,defaulting to 0 if it fails def safeToDouble(s: String): Double = try { s.toDouble } catch { case _: NumberFormatException => 0 } 有什么方法可以让这些更干净?除了一条线外,它们基本上都做同样的事情. 解决方法
您可以使用scala.util.Try
import util.Try // Convert a string to integer,defaulting to 0 if it fails def safeToInt(s: String): Int = Try(s.toInt).getOrElse(0) // Convert a string to long,defaulting to 0 if it fails def safeToLong(s: String): Long = Try(s.toLong).getOrElse(0L) // Convert a string to double,defaulting to 0 if it fails def safeToDouble(s: String): Double = Try(s.toDouble).getOrElse(0.0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容