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 中任何變數/值的型別
在上面的例子中,我們使用了一個字串變數並類似地獲取了它的型別;我們還可以使用另一種型別的變數,該方法返回所需的結果。請參考下面的示例。
在這個例子中,除了字串之外,我們還建立了兩個變數,整數和字元,並使用了 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