2011-11-18 18 views
6

ソースコードで使用されている定数のタイプを表すために、後置区切り文字を使用する必要があります(Lのようにlong)。しかし、ショートパンツのためにとバイトそこには区切り文字はありませんので、私は明示的にそうように一定の値をキャストする必要があります。Javaの後置区切り文字

short x = (short)0x8000; 

Javaが実際に整数型からこれを変換するために、コンパイル済みのバイトコードに追加の手順を取る場合、私は思っていました短くするか、これが単語に収まり、定数をそのまま使用することを知っていますか?さもなければ、これらのような数字を後置することができる方法がありますか?

+0

http://stackoverflow.com/questions/2720738/java-short-and-castingをチェックアウト - 場合に役立ちます! – Nik

答えて

5

Javaが実際に短いに整数型からこれを変換するために、コンパイル済みのバイトコードに追加の手順を取る場合、私は思っていた、またはそれが、これは言葉の中に収まることを知っているとされる定数を使用していますか?

私はそれが単語に収まり、それをそのまま使用することを知っていると思います。例えばのためのバイトコード:

public class IntToShortByteCode { 
    public static void main(String... args){ 
     short x = (short)0x8888; 
     System.out.println(x); 
    } 
} 

が(javacの1.6.0_14)です:

Compiled from "IntToShortByteCode.java" 
public class IntToShortByteCode extends java.lang.Object{ 
public IntToShortByteCode(); 
    Code: 
    0: aload_0 
    1: invokespecial #1; //Method java/lang/Object."<init>":()V 
    4: return 

public static void main(java.lang.String[]); 
    Code: 
    0: sipush -30584 
    3: istore_1 
    4: getstatic  #2; //Field java/lang/System.out:Ljava/io/PrintStream; 
    7: iload_1 
    8: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 
    11: return 

} 

そうでなければ、私は短いまたはバイトを示すためにこのような数字を後置することができます方法はありますか?

関連する問題