gpt4 book ai didi

java - 如何将 Object 类型转换为 List 类型?
转载 作者:行者123 更新时间:2023-12-01 17:50:32 26 4
gpt4 key购买 nike

List<Object> frames = new ArrayList();
List<String> names = new ArrayList();

frames.add(names);

//compiler error
frames.get(0).add("ABCD");

由于 .get() 返回对象类型,而对象类型没有 .add() 方法,因此编译器会引发错误。如何将对象类型转换为列表类型?

最佳答案

你有两个选择:

  • 更改 framesList<List<String>>如果列表frames将始终包含一个字符串列表。它是安全的,但仅限于一种类型。

    List<List<String>> frames = new ArrayList<List<String>>();
  • 获取时使用类型转换。这并不安全,我建议您尽可能避免进行类型转换。此处将检查是否从 frames 获取了项目。列表本身就是一个列表:

    Object first = frames.get(0);
    if (first instanceof List) {
    ((List<String>) first).add("ABCD");
    }

此外,尽量避免原始类型。在这种情况下使用钻石 <>声明中的运算符:

List<Object> frames = new ArrayList<>();
List<String> names = new ArrayList<>();

关于java - 如何将 Object 类型转换为 List<Object> 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50658065/

26 4 0