java .lang.ClassCastException: java .lang.String не может быть преобразовано в java .lang.Float - PullRequest
0 голосов
/ 13 июля 2020

В приложении Scala я сталкиваюсь с java.lang.ClassCastException с кем-нибудь, кто знает, как преобразовать строку в float?

Вот мой код:

deviceVal.asInstanceOf[String].toFloat

1 Ответ

2 голосов
/ 13 июля 2020

Вы не можете преобразовать String в Float и наоборот. У них несовместимые классы среды выполнения. 1.5F.asInstanceOf[String] и "1.5F".asInstanceOf[Float] терпят неудачу с java.lang.ClassCastException.

Вы можете преобразовать String в Float и наоборот следующим образом

assert("1.5".toFloat == 1.5F)
assert("1.5F".toFloat == 1.5F)
assert(1.5F.toString == "1.5")

Если String не может быть проанализирован в Float, вы получите java.lang.NumberFormatException.

Скорее всего, java.lang.ClassCastException означает, что проблема связана с deviceVal.asInstanceOf[String]. Возможно, deviceVal не является String и не может быть преобразован в String. Вы можете преобразовать deviceVal (что бы это ни было) в String как deviceVal.toString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...