目前网上百度有两种判断方法:
1 是 class 类中的 isAssignableFrom 方法,参数是一个 Class 类型的对象,这种判断实际并没有标题的判断效果,它只能判断是否为同类型。我看了大多数网上的文章,都把这个方法添加进去,实际是不对的。
2 instanceof,该方法是可以直接判断的,可以在 if 的条件判断中直接使用。
具体使用方法参考:
isAssignableFrom 的调用对象必须为 Class 类型对象,参数也是;
public class Main {
public static void main(String[] args) {
if (OutputStream.class.isAssignableFrom(ByteArrayOutputStream.class)) {
System.out.println("ByteArrayOutputStream 是 java.io.OutputStream 的子类");
} else {
System.out.println("ByteArrayOutputStream 不是 java.io.OutputStream 的子类");
}
}
}
instanceof 使用方法如下:
public class Main {
public static void main(String[] args) {
OutputStream outputStream = new ByteArrayOutputStream();
if (outputStream instanceof java.io.OutputStream) {
System.out.println("outputStream 是 java.io.OutputStream 的子类");
} else {
System.out.println("outputStream 不是 java.io.OutputStream 的子类");
}
}
}
如果改文章对你有用,记得收藏方便下次查询
创作不易,感谢点赞