instanceof简单介绍

官方说明是:判断左边的对象是不是右边对象类的实例

 

 

 意思是说条件操作数类型int和int不兼容

 

 

 instanceof左边不能是基本类型,需要是引用类型

1
2
3
4
5
6
7
8
public class InstanceofTest {
    public static void main(String[] args) {
        Integer a =1;
        boolean result=a instanceof Integer;
        System.out.println(result);
    }
 
}

 当左边是null时,

 

 判断LinkedList是不是List的实现类

 

 instanceof的部分伪代码如下

1
2
3
4
5
6
7
8
9
10
11
boolean result;
if (obj == null) {
  result = false;
} else {
  try {
      T temp = (T) obj; // checkcast
      result = true;
  } catch (ClassCastException e) {
      result = false;
  }
}

  对应使用上就是

当obj是T的类或者是T的子类,返回true

 

 

 第32行编译报错

报错信息翻译如下

 

因为Java在编译期间,所有的泛型信息都会被擦掉,例如List<Object>和List<String>,在编译后JVM只能看到list,这是java编译器为了避免错误发生的一种机制

 

 更像一种java的规则,你必须这样。

posted @   不忘初心2021  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示