情况是我要将一个对象作为参数传递,需要根据对象的类型来选择具体操作。
应该怎么获取?
示例代码:
method(Object object){
//if object== String type print string
}
试试:
if (object.getClass().getName().equals("Class1Name"))
//do something.
getClass比instanceof好的地方是在编译时不需要了解类的类型
如果需要method根据参数反应不同,应该重载。
public void method(String s) {
}
public void method(Integer i) {
}
public void method(SomeClass o) {
}
用instanceof
关键词。java编程语言提供的instanceOf
关键词是布尔操作符,检测对象是否特定类型。
if(object instanceof String) {
}
重载才真正的体现OO的多态。
重载比较好,体现水平