java中如何判断两个对象是否为同一类型呢?
下文笔者讲述java代码判断两个对象是否为同一类型的方法分享,如下所示
判断对象是否为同一类型的实现思路
方式1: 使用instanceof运算符判断 方式2: 使用 getClass()方法 方式3: 使用反射机制例
使用 instanceof 运算符
Java中instanceof 运算符 用于判断一个对象是否是某个类的实例或者是其子类的实例 可以通过instanceof运算符来判断两个对象是否属于同一类型例
public class Example { public static void main(String[] args) { String str = "Hello World"; Object obj = new Object(); if (str instanceof String) { System.out.println("str 是 String 类型"); } if (obj instanceof String) { System.out.println("obj 是 String 类型"); } else { System.out.println("obj 不是 String 类型"); } } }
使用 getClass() 方法
在Java中 每个对象都有一个getClass()方法 返回表示对象所属类的 Class 对象 我们可以通过比较两个对象的 Class 对象来判断它们是否属于同一类型 public class Example { public static void main(String[] args) { String str = "Hello World"; Object obj = new Object(); if (str.getClass() == String.class) { System.out.println("str 是 String 类型"); } if (obj.getClass() == String.class) { System.out.println("obj 是 String 类型"); } else { System.out.println("obj 不是 String 类型"); } } }
使用反射机制
Java反射机制 可在运行时获取一个类的信息 包括类的属性、方法等 然后使用我们可以利用反射机制判断两个对象是否属于同一类型 import java.lang.reflect.Field; public class Example { public static void main(String[] args) { String str = "Hello World"; Object obj = new Object(); if (str.getClass().equals(obj.getClass())) { System.out.println("str 和 obj 是同一类型"); } else { System.out.println("str 和 obj 不是同一类型"); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。