Я не знаю ни одного такого случая.Вы можете убедиться, что испускаемый байт-код совпадает, скомпилировав класс, подобный
class Conv {
def b(i: Int) = i.toByte
def B(i: Int) = i.asInstanceOf[Byte]
def s(i: Int) = i.toShort
def S(i: Int) = i.asInstanceOf[Short]
def f(i: Int) = i.toFloat
def F(i: Int) = i.asInstanceOf[Float]
def d(i: Int) = i.toDouble
def D(i: Int) = i.asInstanceOf[Double]
}
и используя javap -c Conv
, чтобы получить
public byte b(int);
Code:
0: iload_1
1: i2b
2: ireturn
public byte B(int);
Code:
0: iload_1
1: i2b
2: ireturn
...
, где вы можете увидеть, что тот же байт-кодиспускается в каждом случае.