gpt4 book ai didi

java - 为什么 instanceof 有时不编译,有时返回 false?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:40:45 25 4
gpt4 key购买 nike

<分区>

在下面的例子中

  • 测试 instanceof java.util.Map 返回 false

  • java.util.HashMap 的测试实例不编译

但是

  • mymap instanceof Set 返回 false和
  • mymap instanceof HashSet 返回 false(为什么编译成功?!?)

为什么?它们看起来非常相似!

import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;

public class InstanceofTest {
public static class Test {}
public static void main(String[] args) {
// -- left operand references a Class instance
Test test = null;

// 1. outputs: false
System.out.println(test instanceof Map);

// 2. COMPILATION ERROR
System.out.println(test instanceof HashMap);


// -- left operand references an Interface instance
Map mymap = new HashMap();

// 3. outputs: false
System.out.println(mymap instanceof Set);

// 4. outputs: false
System.out.println(mymap instanceof HashSet);
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com