Java で Int を Byte に変換する
- Java での整数からバイトへの変換
- Java での整数からバイトへの変換およびその逆
- Java での整数からバイトへの符号なし変換
- Java 8 を使用した整数からバイトへの変換およびその逆
- Java の byteValue()メソッドを使用した Int to Byte
このチュートリアルでは、Java で int をバイトに変換する方法を紹介します。
Java では、int と byte はどちらもプリミティブ型であり、数値を格納するために使用されます。どちらも符号付き値と符号なし値を格納するために使用されますが、格納範囲は異なります。バイト範囲は -128〜127
で、int 範囲は -2,147,483,648
〜2,147,483,647
です。したがって、明らかに、int はバイト型よりも大きな値を格納できることがわかります。
int を byte に変換しているときに、メモリが原因で一部のデータが失われます。いくつかの例を見てみましょう。
Java での整数からバイトへの変換
この例では、キャストによって int を byte に変換し、int 値が byte の範囲外を超えているかどうかを確認します。含まれている場合は、負の値に変換されます。これは、値がバイト範囲よりも大きい場合、負に変換されることを意味します。したがって、大きな値をバイト型に変換すると、int 型とは異なる結果が得られます。
public class SimpleTesting {
public static void main(String[] args) {
int a = 127; // byte max positive range
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = 130; // Out of positive byte range
System.out.println("int value = " + a);
b = (byte) a;
System.out.println("byte value = " + b);
}
}
出力:
int value = 127
byte value = 127
int value = 130
byte value = -126
Java での整数からバイトへの変換およびその逆
int 型を byte 型に変換するには、明示的な型キャストを使用する必要があります。ただし、バイトを int に変換するために、明示的なキャストは必要ありません。Java はこれを暗黙的に行います。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = b;
System.out.println("int value = " + a);
}
}
出力:
int value = 230
byte value = -26
int value = -26
Java での整数からバイトへの符号なし変換
上記のすべての例で符号変換を行いましたが、符号なし変換が必要な場合は、以下のコードを使用してください。ここでは、& 0xFF
コードと int 値を使用して、符号なし変換を取得しました。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = b & 0xFF;
System.out.println("int value = " + a);
}
}
出力:
int value = 230
byte value = -26
int value = 230
Java 8 を使用した整数からバイトへの変換およびその逆
Java 8 以降のバージョンを使用している場合は、Byte
クラスの toUnsignedInt()
メソッドを使用して、符号なし変換を取得します。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = Byte.toUnsignedInt(b);
System.out.println("int value = " + a);
}
}
出力:
int value = 230
byte value = -26
int value = 230
Java の byteValue()メソッドを使用した Int to Byte
Integer
クラスの byteValue()メソッドを使用して、変換後のバイト値を取得することもできます。このメソッドは符号付きの値を返します。したがって、署名された結果を取得する場合にのみ使用してください。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
Integer i = a;
byte b = i.byteValue();
System.out.println("byte value = " + b);
}
}
出力:
int value = 230
byte value = -26
関連記事 - Java Int
- Java で int を char に変換する方法
- Java で Int を Double に変換する
- Java でオブジェクトを Int に変換する
- Java の Int のリスト
- Java で Int が Null かどうかを確認する