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...