Red de conocimiento informático - Problemas con los teléfonos móviles - Cadena de conversión de tipo forzada de Scala a int

Cadena de conversión de tipo forzada de Scala a int

Primero consulte este artículo/scala/how-cast-string-to-int-in-scala-string-int-conversion

De hecho, es lo mismo para nosotros Quienes dominan Java y luego aprenden Scala obtienen el doble de resultado con la mitad del esfuerzo. La conversión de tipos de Java sigue siendo muy simple. Nuestros tipos ordinarios de doble a int long, int float a double, etc. también los tipos digitales a string, string a int o float, scala tiene isInstanceof asInstanceOf classof, son muy buenos, necesitas usarlos,

Si la cadena en sí es una cadena numérica, no hay problema, pero si la cadena en sí no puede determinar si contiene una cadena no numérica, debemos juzgar. De lo contrario, habrá una excepción, o si se considera una excepción, debe manejarse de acuerdo con la excepción detectada.

De hecho, lo más simple que hacemos es usar coincidencias regulares, pero para big data de Hadoop, usar coincidencias regulares es una opción muy ineficiente. Si se usan coincidencias regulares, el número total. de nodos del clúster es 18. Se estima que la memoria central de CPU 64G tardará varios días en ejecutarse. Para aquellos que desean obtener los resultados lo antes posible, la coincidencia regular no se puede utilizar a gran escala en producción.

Se elimina el primer método, solo podemos usar el juicio de manejo de excepciones que Scala admite de forma nativa,

Scala admite el juicio de excepción de la opción try catch some

Usamos some() para envolver el resultado de la coerción Independientemente del éxito o el fracaso, el valor de retorno es el tipo envuelto por un contenedor de opciones, y luego el valor se puede extraer llamando a la función get en el objeto de opción. p>

`

código Scala 1

def toInts(s: String): Opción[Int] = {

prueba {

Algunos(s .toInt)

} captura {

caso e: Excepción =gt; Algunos(0)

}

}

código Scala 1

val num:Option[Int]=toInts(numstr)

val res:Int=num.get

`

De hecho, de forma predeterminada detectamos excepciones y devolvemos Ninguna, pero el valor de retorno debe participar en cálculos posteriores para reducir la complejidad. Devolvemos algunos (0) y obtenemos el valor llamando. el método get()