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