if (data instanceof ClassA singleObject) {
// do something with singleObject
} else if (data instanceof List list) {
// do something with list
}
否则
if (data instanceof ClassA) {
ClassA singleObject = (ClassA) data;
// do something with singleObject
} else if (data instanceof List) {
List<ClassB> list = (List<ClassB>) data;
// do something with list
}
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
Object o = new ArrayList<Object>();
List<Object> l = (List<Object>) o;
}
}
2条答案
按热度按时间wsewodh21#
你需要使用
instanceof
检查对象的类型如果您使用的是java-16
否则
请注意,您将得到一个编译器警告,因为您正在进行未检查的赋值。你可以用
@SuppressWarnings("unchecked")
论使之消失的方法2nbm6dog2#
下面是一个如何操作的示例: