답변:
Java에서 정수 리터럴은 기본적으로 int 유형입니다. 다른 유형의 경우와 같은 대소 문자를 구분 문자로 문자 그대로의 접미사 수 L
, D
, F
각각, 긴, 더블, 또는 플로트를 지정할 수 있습니다. 가독성을 높이기 위해 대문자를 사용하는 것이 일반적입니다.
Java 언어 사양은 바이트 또는 짧은 유형에 대해 동일한 구문 설탕을 제공하지 않습니다. 대신 명시 적 캐스팅을 사용하여이를 선언 할 수 있습니다.
byte foo = (byte)0;
short bar = (short)0;
당신의에서 setLongValue(100L)
메서드 호출, 당신은 포함 반드시 할 필요는 없습니다 L
이 경우에는 INT의 문자가 자동으로 오래에 확대되기 때문에 접미사. 이를 Java 언어 사양에서 확장 기본 변환이라고합니다.
d
/ D
makes a double
and f
/ F
makes a float!
0
로 (short)0
해결하기 위해 possible lossy conversion from int to short
0이 짧은 경우에도 오류가 발생했습니다.
일반적으로 변수를 캐스트하여 short
.
혼란 스러울 수있는 이와 같은 문제가 발생할 수도 있습니다. 이는 +
운영자가int
요소를 캐스팅해도 도움이되지 않습니다.
표현식을 캐스팅해야합니다.
사용할 수 있습니다 setTableId((short)100)
. 나는 이것이 Java 5에서 변경되었으므로 바이트 또는 short에 할당 된 숫자 리터럴이 대상 유형으로 자동으로 가정됩니다. 최신 J2ME JVM은 Java 4에서 파생되었습니다.
L
long
리터럴 을 나타내는 데 사용되는 접미사 입니다.