Java typeof 運算子

Mohammad Irfan 2023年10月12日
  1. 在 Java 中獲取變數/值的型別
  2. 獲取 Java 中任何變數/值的型別
Java typeof 運算子

本教程介紹如何在 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

相關文章 - Java Operator