java中 instanceof 运算符的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 instanceof 运算符的用法相关的知识,希望对你有一定的参考价值。

AA instanceof BB
AA应该为某个对象实例,或变量
BB应该为什么?
能不能把BB作为一个变量来使用instanceof 啊?
我提问的重点是: BB能不能作为一个变量来使用,如果能 这个变量是什么类型? 谢谢大家!

instanceof的作用是测试它左边的对象是否是它右边的类的实例(或对象),因此instanceof的左边AA应该是某个类的对象的名字,而右边的BB应该是某个类的名字。作个比喻假设C是一个类,有语句C mc=new C(); 语句mc instanceof C;测试的结果应为true,很明显左边的对象mc是类C的实例。而语句md instanceof C;则反回false,因为md不是类C的一个实例。

BB应该不能是一个变量名,比如int i=2; 那么不能是AA instanceof i;如果是这样那AA应该为什么呢?因为AA是应是一个名字,因此这样的测试是无意义的。
现在你应该车底明白了吧
参考技术A AA只能是一个对象,而BB只能是一个类名,不能为变量,instanceof的作用就是判断这个对象是否属于BB这个类或其子类的实例,明确了吧!本回答被提问者采纳 参考技术B instanceof表示的是实例化,也就是说是否为某个类型。举例:
if("asb" instanceof String) //执行代码 ;
解释:也就是说abc是否可以转换为字符串类型,如果可以的话,返回真。
备注:这样做的好处是,先判断了是否可以实例化,而不是直接进行强制类型转换,也就不会出现类型转换失败的情况
参考技术C BB 本身就必须是一个变量 什么类型都可以
变量 包含 对象实例
参考技术D The instanceof operator compares an object to a specified type. You can use it to test if an object is an instance of a class, an instance of a subclass, or an instance of a class that implements a particular interface.

说白了,就是看一个实例是不是一个指定的类型或者是不是它的子类型或者是不是它的接口实现。
BB都是一个类,而AA是一个实例

以上是关于java中 instanceof 运算符的用法的主要内容,如果未能解决你的问题,请参考以下文章

请问instanceof运算符怎么用呢?

java中instanceof的用法

instanceof的用法

java中instanceof用法

java中instanceof用法

java中instanceof用法