gpt4 book ai didi

java - 检查某个对象是否是列表中某个类的实例

转载 作者:行者123 更新时间:2023-12-03 18:42:07 24 4
gpt4 key购买 nike

所以,我想要一个类型列表,然后遍历列表并检查对象是否是该列表中类型的实例。

这就是我想象的它的工作方式,但这不是 Java 语法。Type1.class 也不起作用

List<Object> types = new ArrayList();
types.add(Type1);
types.add(Type2);

for (Object type : types) {
if (someObject instanceof type) {
doSomething();
}
}

或与 List<Class> 相同或类似的东西

这显然行不通,但我不知道最好的方法是什么。当然,我可以对每个要检查的对象进行硬编码,但这看起来并不那么优雅。

最佳答案

来自 Java 文档:

In Java instances of the Class class represent classes and interfaces in a running Java application.

你可以使用 Class::isInstance方法来确定对象是否是给定类型的实例,然后根据此评估应用处理:

List<Class<?>> types = new ArrayList<>();
types.add(String.class);
types.add(Integer.class);

String someObject = "someString";

for (Class<?> type : types) {
if (type.isInstance(someObject)) {
// do smoething
}
}

关于java - 检查某个对象是否是列表中某个类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723284/

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