Java typeof 演算子
Mohammad Irfan
2023年10月12日
このチュートリアルでは、Java で変数または値のデータ型を取得する方法を紹介し、トピックを理解するためのサンプルコードをいくつか示します。
Java では、変数または値の型を取得するために、Object
クラスの getClass()
メソッドを使用できます。これを行う唯一の方法は、タイプをチェックするための typeof()
メソッドを使用する JavaScript とは異なります。
Object クラスの getClass()
メソッドを使用したため、プリミティブではなく、オブジェクトでのみ機能します。プリミティブのタイプを取得する場合は、最初にラッパークラスを使用してそれらを変換します。いくつかの例で理解しましょう。
Java で変数/値の型を取得する
この例では、getClass()
を使用して変数の型をチェックしました。この変数は文字列型であるため、メソッドを直接呼び出すことができます。以下の例を参照してください。
getClass()
メソッドは、この場合は java.lang.String
などのパッケージ名を含む完全修飾クラス名を返すことに注意してください。
public class SimpleTesting {
public static void main(String[] args) {
String msg = "Hello";
System.out.println(msg);
System.out.println("Type is: " + msg.getClass());
}
}
出力:
Hello
Type is: class java.lang.String
Java で任意の変数/値の型を取得する
上記の例では、文字列変数を使用し、同様にその型を取得しました。別のタイプの変数を使用することもでき、メソッドは目的の結果を返します。以下の例を参照してください。
この例では、文字列とは別に、整数と文字の 2つの変数を作成し、getClass()メソッドを使用しました。
package javaexample;
public class SimpleTesting {
public static void main(String[] args) {
String msg = "Hello";
System.out.println(msg);
System.out.println("Type is: " + msg.getClass());
// Integer
Integer val = 20;
System.out.println(val);
System.out.println("Type is: " + val.getClass());
// Character
Character ch = 'G';
System.out.println(ch);
System.out.println("Type is: " + ch.getClass());
}
}
出力:
Hello
Type is: class java.lang.String
20
Type is: class java.lang.Integer
G
Type is: class java.lang.Character
getClass()
メソッドは、パッケージ名を含む、クラスの完全修飾名を返します。タイプ名のみを取得する場合は、単一の文字列を返す getSimpleName()
メソッドを使用できます。以下の例を参照してください。
package javaexample;
public class SimpleTesting {
public static void main(String[] args) {
String msg = "Hello";
System.out.println(msg);
System.out.println("Type is: " + msg.getClass().getSimpleName());
// Integer
Integer val = 20;
System.out.println(val);
System.out.println("Type is: " + val.getClass().getSimpleName());
// Character
Character ch = 'G';
System.out.println(ch);
System.out.println("Type is: " + ch.getClass().getSimpleName());
}
}
出力:
Hello
Type is: String
20
Type is: Integer
G
Type is: Character