这段代码
String s1,s2;
if(s1 instanceof s2) {
}
Run Code Online (Sandbox Code Playgroud)
给我错误:不兼容的条件操作数类型String和s2.谁能告诉我我做错了什么?
您需要在此运算符的右侧使用Class,而不是类的实例.
对于运行时检查对象是否是另一个对象类的实例,可以使用Class类中的工具:
if(s2.getClass().isAssignableFrom(s1.getClass))
...
Run Code Online (Sandbox Code Playgroud)
确定此Class对象表示的类或接口是否与指定的Class参数表示的类或接口相同,或者是它们的超类或超接口.
或者有isInstance(Object)类似情况的要求:
if(s2.getClass().isInstance(s1))
....
Run Code Online (Sandbox Code Playgroud)
确定指定的Object是否与此Class表示的对象分配兼容.此方法是Java语言instanceof运算符的动态等效项.
| 归档时间: |
|
| 查看次数: |
3464 次 |
| 最近记录: |