instanceof 运算符的用法
来源:互联网 发布:魔术道具淘宝变脸 编辑:程序博客网 时间:2024/05/22 14:24
A instanceof B;
A必需是具体实例,B是一种类(或接口)。
B不能是确定泛型参数的泛型。
如果A在编译时能过确定具体类型,那么a必须是可以通过(B)a转换成B类型的,不然编译器会报错。
如果A不能转换为B,则可以(Object)a instanceof B。
如果A实在运行时得到的,那么没有如此限定。
具体例子时在论坛上得到的:
package instan;
import java.util.List;
public class Test {
public static void main(String[] args) {
//编译时无法确定getObject()返回的引用类型的具体类型,下面两句都能通过编译
System.out.println(getObject() instanceof Object);
System.out.println(getObject() instanceof String);
System.out.println(getObject() instanceof Test);
//编译时可以确定类型的,能够cast则编译通过,否则编译失败
Test test = new Test();
System.out.println(test instanceof Test);//ok
System.out.println(test instanceof Object); //ok
// System.out.println(test instanceof String);//error,可以通过下面方法
System.out.println((Object)test instanceof String);
//跟泛型相关的注意一下
//List是泛型类型,如果不指定泛型参数,成功编译
System.out.println(test instanceof List);
//如果不限定类型界限,通过编译
System.out.println(test instanceof List<?>);
//指定泛型参数,编译时可确定类型,如果不能cast,编译不通过
//System.out.println(getObject() instanceof List<Test>); //error
//System.out.println(test instanceof List<Test>);//error
}
public static Object getObject() {
return new Test();
}
}
- instanceof 运算符的用法
- instanceof 运算符的用法
- instanceof 运算符的用法
- instanceof 运算符的用法
- instanceof 运算符的用法
- instanceof 运算符的用法
- Java 中 instanceof 运算符的用法
- java中Instanceof运算符的用法.(摘自精通Jbuilder2005)
- java中instanceof运算符的意义和用法
- Java中instanceof运算符用法详解
- java的instanceof 运算符
- java的instanceof运算符
- JavaScript的instanceof运算符
- JavaScript中in运算符和instanceof运算符demo,java中instanceof用法
- JavaScript中instanceof与typeof运算符的用法及区别详细解析
- js运算符instanceof的工作原理
- instanceof 运算符
- instanceof运算符
- 用GNU Scientific Library(GSL)学习科学计算
- Oracle性能优化与Delphi代码
- 泛型的概念及优点
- Linux-2.6驱动开发 4 内存分配
- 动态二维数组的定义
- instanceof 运算符的用法
- 在CDHTMLDialog中扩展浏览器脚本以及在HTML中增加MFC消息响应
- 处理 属性页 应用按钮
- 在 X项目中实践ICONIX(一)用户需求调研与用例建模
- int和Integer的区别
- 选什么好呢
- test
- Windows消息处理机制(转li_guotao好文章)
- C#反射。。了解