Что это значит "сужение примитива усекает биты старшего разряда" - PullRequest
2 голосов
/ 21 июля 2011

Что это значит "сужение примитива усекает биты старшего разряда"

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

Например, если вы приводите long к int, вы отбрасываете старшие биты long.

Short  -> Byte
0x00FF -> 0xFF
256    -> -128
0 голосов
/ 21 июля 2011

Вот краткий, тщательно подобранный ответ.

public class Narrow {
 public static void main(String[] args) {
  int i;
  short s;

  i = 32768;
  s = (short) i;
  System.out.println("int of " + i + " becomes a short of " + s);
 }
}

я равен 2 ^ 15, или один больше, чем MAX_VALUE короткого.

Java ответит int of 32768 becomes a short of -32768

...