I have a String in my Scala program that I'd like to cast as an Int.
def foo(): Int = x.getTheNumericString().toInt
The problem is that x.getTheNumericString()
comes from a Java library and returns a java.lang.String
, which doesn't have a toInt
method.
I know I can create a Scala string with val s: String = "123"
, but I noticed that when I create a string like val t = "456"
I get a java.lang.String
. I have heard that Scala String is just a wrapper around java.lang.String, but I haven't found any clear documentation on how to cast to the Scala string.
Is there some function I can use like:
def foo(): Int = f(x.getTheNumericString()).toInt
As it stands now, my compiler complains about the original definition value toInt is not a member of String
It's not a wrapper, but actually java.lang.String. No need in additional hassle:
» touch 123
» scala
...
val foo = new java.io.File("123")
// java.io.File = 123
// Get name is a java api, which returns Java string
foo.getName.toInt
// res2: Int = 123