Java中isAssignableFrom和instanceof

isAssignableFrom
示例:Class1.isAssignableFrom(Class2)
解释:① 判断Class1和Class2是否相同。②Class1是否是Class2的父类或者接口。


instanceof
示例:object   instanceof   TypeName
解释:判断一个对象实例是否是一个类或接口的或其子类子接口的实例。

public class TestCase {
	public static void main(String[] args) {
		TestCase test = new TestCase();
		test.testIsAssignedFrom1();
		test.testIsAssignedFrom2();
		test.testIsAssignedFrom3();
		test.testInstanceOf1();
		test.testInstanceOf2();
	}

	public void testIsAssignedFrom1() {
		System.out.println(String.class.isAssignableFrom(Object.class)); // false
	}

	public void testIsAssignedFrom2() {
		System.out.println(Object.class.isAssignableFrom(Object.class)); // true
	}

	public void testIsAssignedFrom3() {
		System.out.println(Object.class.isAssignableFrom(String.class)); // true
	}

	public void testInstanceOf1() {
		String ss = "";
		System.out.println(ss instanceof Object); // true
	}

	public void testInstanceOf2() {
		Object o = new Object();
		System.out.println(o instanceof Object); // true
	}
}

原帖地址:http://lucky16.iteye.com/blog/1631253
发布了535 篇原创文章 · 获赞 1162 · 访问量 450万+

猜你喜欢

转载自blog.csdn.net/woshixuye/article/details/54405358