当深入到Java字节码汇编指令级别的操作符
第二条规则如下:
如果S是接口类型,则:
上面代码中的第二行将打印 true,而上面的第三行将打印 false。因此,我怀疑我的理解可能是错误的,有人可以帮忙解释一下上述规则的含义吗?
instanceof
时,它对应于一个Java汇编指令instanceof
。但我读到了用于确定非空对象引用是否为已解析类型实例的规则:第二条规则如下:
如果S是接口类型,则:
- 如果T是类类型,则T必须是Object。
- 如果T是接口类型,则T必须是与S相同的接口或S的超级接口。
CharSequence charSequence = new StringBuilder("test");
System.out.println(charSequence instanceof StringBuilder);
System.out.println(charSequence instanceof String);
上面代码中的第二行将打印 true,而上面的第三行将打印 false。因此,我怀疑我的理解可能是错误的,有人可以帮忙解释一下上述规则的含义吗?
StringBuilder
。打印“false”的第三行是正确的。 - user207421