为了账号安全,请及时绑定邮箱和手机立即绑定

哪个运算符用于测试对象是否为运行时某个特定类的实例?

哪个运算符用于测试对象是否为运行时某个特定类的实例?

回首忆惘然 2019-04-04 11:07:21
哪个运算符用于测试对象是否为运行时某个特定类的实例
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:
result = object instanceof class
参数:
result
必选项。任意变量。
object
必选项。任意对象表达式。
class
必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

例如:
Boolean b;
String str = "foo";
b = ( str instanceof String ); // true
b = ( str instanceof Object ); // also true
b = ( str instanceof Date ); // false, not a Date or subclass

注意:
1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。
String s = null;
if ( s instanceof String )
// false, won't happen
2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。
if ( foo instanceof byte[] )



查看完整回答
反对 回复 2019-04-12
?
守候你守候我

TA贡献1802条经验 获得超10个赞

如果要写成一个方法肯定是可以的。因为list 和set都是继承的collection,而且也都继承object类。
可以写成:
Collection<Integer> fun(Collection <Integer> col){
return col;
}

查看完整回答
反对 回复 2019-04-12
?
米脂

TA贡献1836条经验 获得超3个赞

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.Reader;


import org.junit.Test;


public class InstanceTest {

@Test

public void test() throws FileNotFoundException {

FileReader fr = new FileReader("d:\\abc.txt");

System.out.println(fr instanceof Reader);


//这里是多态,父类引用指向子类对象

Reader reader = new FileReader("d:\\abc.txt");

System.out.println(reader instanceof FileReader);

System.out.println(reader instanceof Reader);

 

}

}



查看完整回答
反对 回复 2019-04-12
  • 3 回答
  • 0 关注
  • 870 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信