You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何判断ArrayList存储的元素所属的具体类

解决方案

直接调用目标下标元素的getClass()方法即可,该方法是JavaObject类的原生内置方法,会返回对象的运行时类,直接打印就会输出你需要的class 包名.类名格式结果。

完整示例代码

import java.util.ArrayList;

// 替换为你实际的包路径
package com.yourpackage;

// 你的自定义类
class CPU {}
class GPU {}
class RAM {}

public class Main {
    public static void main(String[] args) {
        ArrayList<Object> stock = new ArrayList<>();
        stock.add(new CPU());
        stock.add(new GPU());
        stock.add(new RAM());

        // 取下标0的对象所属类
        Class<?> targetClass = stock.get(0).getClass();
        System.out.println(targetClass);
        // 输出:class com.yourpackage.CPU
    }
}

拓展用法

如果你需要不同格式的类名信息,可以用以下方法:

  • 拿到带包名的全类名字符串:targetClass.getName(),输出com.yourpackage.CPU
  • 只拿到类名字符串不带包名:targetClass.getSimpleName(),输出CPU

注意事项

  • 取元素前建议先判断下标是否在集合的合法范围内,避免抛出IndexOutOfBoundsException
  • 如果集合允许存入null,调用getClass()前要先判空,避免触发空指针异常,安全写法如下:
Object element = stock.get(0);
if (element != null) {
    System.out.println(element.getClass());
} else {
    System.out.println("指定下标无有效对象,值为null");
}

内容的提问来源于stack exchange,提问作者user13820664

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:36:01