Javaで強制的な型変換を実行する方法

小老鼠
リリース: 2023-12-01 11:04:38
オリジナル
2604 人が閲覧しました

Java は、静的型チェックを特徴とするオブジェクト指向プログラミング言語です。つまり、コンパイル時に変数の型が正しく一致することを確認する必要があります。ただし、場合によっては、あるデータ型を別のデータ型に変換する必要があり、そのためにはキャストの使用が必要になります。この記事ではJavaでキャスト型変換を行う方法を紹介します。

強制型変換とは、2 つのデータ型間に直接の継承関係がない場合でも、あるデータ型を別のデータ型に変換することを指します。キャスト変換を実行するときは、キャスト演算子を使用する必要があります。つまり、変換する値の前に、変換するデータ型を括弧で囲みます。

次は、強制型変換の構文です。

newType variable_name = (newType) expression;
ログイン後にコピー

このうち、newType は対象のデータ型、variable_name は変数名、expression は変換する必要がある値です。

強制型変換を実行する場合、次の点に注意する必要があります:

1. 強制型変換はデータ損失を引き起こす可能性があります: 対象のデータ型の範囲が小さい可能性があるため、元のデータ型の範囲となるため、強制的に型変換を行うとデータが失われる可能性があります。したがって、型変換を実行するときは、変換されたデータでエラーやデータ損失が発生しないことを確認する必要があります。

2. 強制型変換は、型間に関連がある場合にのみ使用できます: 強制型変換は、継承または実装関係がある型間でのみ実行できます。 2 つの型の間に関係がない場合、キャストするとコンパイル エラーが発生します。

キャストの使用方法を示す例は次のとおりです。

double d = 3.14;
int i = (int) d;
System.out.println(i); // 输出:3
ログイン後にコピー

上の例では、double 型の変数 d を int 型の変数 i にキャストしています。 int型の範囲はdouble型の範囲よりも小さいため、キャスト型変換を行う際には小数部分が切り捨てられ、整数部分のみが残ります。

基本的なデータ型に加えて、キャストを使用して参照型を変換することもできます。参照型のキャスト変換を実行するときは、変換された型が正当なサブクラスまたはインターフェイス実装クラスであることを確認する必要があります。

キャストを使用して参照型を変換する方法を示す例を次に示します。

class Animal {
    public void eat() {
        System.out.println("Animal is eating");
    }
}
class Dog extends Animal {
    public void bark() {
        System.out.println("Dog is barking");
    }
}
public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();
        Dog dog = (Dog) animal;
        dog.bark(); // 输出:Dog is barking
    }
}
ログイン後にコピー

上の例では、Animal 型の参照を Dog 型の参照にキャストします。 Dog は Animal のサブクラスであるため、キャスト型変換を実行することは正当です。次に、Dog タイプのメソッド bark() を呼び出してポリモーフィズムを実現します。

要約すると、キャストは、あるデータ型を別のデータ型に変換するための Java の重要なメカニズムです。ただし、キャストするとデータが失われる可能性があり、変換は継承または実装関係がある型間でのみ実行できることに注意する必要があります。キャストを合理的に使用することで、さまざまな種類のデータをより柔軟に操作できます。

以上がJavaで強制的な型変換を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート