In Scala, we can create our own universe, apart from the native methods provided, we can add our own implementations, which we call Rich Wrapper classes. This is possible because of Implicit Conversions. First, we'll list out some Wrappers available already:
Rich wrappers
To see how it happens, let's see an example:
scala> val x = 10 x: Int = 10 scala> x.isValidByte res1: Boolean = true
The preceding expression tries to check if the value of x
can be converted into a Byte
, and suffices range of a Byte
, and finds it to be true
:
scala> val x = 260 x: Int = 260 scala> x.isValidByte res2: Boolean = false scala> val x = 127 x: Int = 127 scala> x.isValidByte res3: Boolean = true
As you know, range for a Byte
is -128 to 127. If you try to assign it to a value that's out of range of a Byte
and expect it to behave like a Byte
, it won't work. Thus, the result for the preceding expression is false
.
Apart from this isValidByte
, there are a number of utility methods present...