Java 中:if(Object类型 instanceof Vector集合)

来源:百度知道 编辑:UC知道 时间:2024/05/30 21:24:46
Java 中:if(Object类型 instanceof Vector集合)是什么意思:
关键的是:instanceof用来判断是什么的呢?
难道是:判断Vector集合里面放的是不是Object类型的

instanceof是用来判断某个对象是那中类型的,你写的那句的意思是判断某个对象是否是Vector集合类型。举个例子:
在定义时Vector<Animal> 表示这里只存的是Animal的对象, 如果你用了if(Animal instanceof Vector集合)那么如果这个对象不是Animal的对象,就是false

instanceof是Java的一个二元操作符,和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。举个例子:
String s = "I AM an Object!";
boolean isObject = s instanceof Object;

声明一个String对象引用,指向一个String对象,然后用instanceof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true。
instanceof有一些用处。比如我们写了一个处理账单的系统,其中有这样三个类:
public class Bill {//省略细节}
public class PhoneBill extends Bill {//省略细节}
public class GasBill extends Bill {//省略细节}
在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:
public double calculate(Bill bill) {
if (bill instanceof PhoneBill) {
//计算电话账单
}
if (bill instanceof GasBill) {
//计算燃气账单
}
...
}
这样就可以用一个方