java中的instanceof如何应用??最好有详细的例子!!
解决方案 »
- 帮忙写个socket客户端代码,要求能连接到Socks5代理服务器,服务器有用户名密码验证。
- 关于Java从byte[]到String的字符转码问题
- 求高手指教一二..
- Java应该如何深入
- poi怎样读取excel条件格式的字体颜色
- 如何用java代码设置IE的代理服务
- 一个简单问题,好像很少人明白,特地请教各位高手!
- 请问我想编一个想windows时间/日期 属性那样的程序,请各位大侠给个思路好吗?
- 在程序运行中,如何得到JVM的版本号?在线等待
- 关于线程安全的一点疑问
- 问一个问题,我有一个byte数组,我要将它转成字符串,我如何控制,才能不让它在最后一位产生乱码
- 生产者消费者问题的小疑问
String s = "I AM an Object!";
boolean isObject = s instanceof Object;
我们声明了一个String对象引用,指向一个String对象,然后用instanceof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true
ClassA可以是接口名、抽象类名、普通类名
它用来判断是否 实现了接口/继承了抽象类/是某个类的实例 。
一般在强制类型转换之前用这个语句进行判断,保证类型转换正确进行。
instanceof 是一个二元操作符,Java保留关键字。
使用方法:
objectname instanceof ClassName ,返回值为Boolean类型。
作用:
表示左面的对象是否是右面类的一个实例(从instanceof的字母义上也可以理解),如果是的话,返回true,否则返回false。
例子:
上面3楼的例子给的有点牵强。Object是很多类的基类,你用 ** instanceof Object一般要返回true了。
例一: String s="a String object";
Integer i=new Integer(4);
People p=new People();//People 是一个自定义的类
System.out.println(s instanceof String);
System.out.println(i instanceof Integer);
System.out.println(p instanceof People); 例二:instanceof常用的地方就是Object及其之类中equals()方法的重载。(这里就涉及到==和equals的不同,不多说了)
以下就是Java中Integer类中equals()方法的源代码: public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
//其基本思想就是,先判断两对象是不是同一类的实例,然后再判断两对象对应的所有属性值是否相等。