黑马程序员技术交流社区
标题:
instanceof的用法
[打印本页]
作者:
HM王琦
时间:
2013-3-2 19:45
标题:
instanceof的用法
本帖最后由 [野狼]~@ 于 2013-3-6 23:33 编辑
class Person
{
private String name;
private int age;
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Person))//这里的instanceof判断的是什么?
return false;
Person p = (Person)obj;
//System.out.println(this.name+"....."+p.name);
return this.name.equals(p.name) && this.age == p.age;
}
/**/
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
instanceof在什么时候用?
作者:
罗海云
时间:
2013-3-2 19:54
class Person
{
private String name;
private int age;
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Person))//这里的instanceof判断的是什么?
//
这里instaceof是判断你传进来的对象是否是Person类型..
一般不确定用Object类型传进来的值,,就可以用instanceof判断/.
return false;
Person p = (Person)obj;
//System.out.println(this.name+"....."+p.name);
return this.name.equals(p.name) && this.age == p.age;
}
/**/
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
作者:
谢玉成
时间:
2013-3-2 20:14
instanceof 判断左边的类型是否 是和右边的类型一致,一般在类型向下转型时使用,判断要转的类型是否是想要使用类型,这样起到防止类型转换异常抛出。
例如:现在有一个person类,Student类继承了person类,如果在一个集合里既存有person对象,也存有Student对象,或者还有其他对象,
这时如果你想调用Student对象里的某个方法时,需要从集合里找出哪个是Student对象,这就要使用到 instanceof做出判断了, if(Obj instanceof Student){//...}
希望能帮上你..!!
作者:
陈圳
时间:
2013-3-2 20:19
instanceof是一个判断关键字,判断左边的对象是否属于右边.如果属于就返回ture,不属于就返回flase;
用于类对象判断是否为该类子对象然后作出反应,一般用在多态里,
(Object obj)
if(obj instanceof Student) 如果输入的类型不是Student的话,就抛异常或者其他动作,否则执行指定操作.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2