izac89
izac89

Reputation: 3940

How can I cast Integer to String in Scala?

I searched for a while the answer to this question but came out empty. What is the simple command of casting variable X which is Integer, to a String?

Upvotes: 69

Views: 126795

Answers (4)

Xavier Guihot
Xavier Guihot

Reputation: 61766

An exotic usage of the s String interpolator for code golfers:

val i = 42
s"$i"
// String = 42

Upvotes: 5

Blezz
Blezz

Reputation: 323

I think for this simple us case invoking toString method on an Int is the best solution, however it is good to know that Scala provides more general and very powerful mechanism for this kind of problems.

implicit def intToString(i: Int) = i.toString

def foo(s: String) = println(s)

foo(3)

Now you can treat Int as it was String (and use it as an argument in methods which requires String), everything you have to do is to define the way you convert Int to String.

Upvotes: 0

janm399
janm399

Reputation: 1251

If you have variable x of type Int, you can call toString on it to get its string representation.

val x = 42
x.toString // gives "42"

That gives you the string. Of course, you can use toString on any Scala "thing"--I'm avoiding the loaded object word.

Upvotes: 119

om-nom-nom
om-nom-nom

Reputation: 62855

Is it simple enough?

scala> val foo = 1
foo: Int = 1

scala> foo.toString
res0: String = 1

scala> val bar: java.lang.Integer = 2
bar: Integer = 2

scala> bar.toString
res1: String = 2

Upvotes: 7

Related Questions