当前位置: 首页 > 知识库问答 >
问题:

创建一个具有多个对象类型的ArrayList?

艾奕
2023-03-14

如何创建具有整数和字符串输入类型的ArrayList?如果我创建一个:

List<Integer> sections = new ArrayList <Integer>();

这将是一个整数类型数组列表。如果我将其创建为:

List<String> sections = new ArrayList <String>();

这将是String类型。我如何创建一个ArrayList,它可以接受整数和字符串输入类型?谢谢。

共有3个答案

羊昊苍
2023-03-14

您可以使用Object来存储任何类型的值,例如int、float、String、class对象或任何其他java对象,因为它是所有类的根。例如。

>

  • 声明一个类

    class Person {
    public int personId;
    public String personName;
    
    public int getPersonId() {
        return personId;
    }
    
    public void setPersonId(int personId) {
        this.personId = personId;
    }
    
    public String getPersonName() {
        return personName;
    }
    
    public void setPersonName(String personName) {
        this.personName = personName;
    }}
    

    主函数代码,它创建新的person对象、int、float和string类型,然后添加到列表中,并使用for循环进行迭代。识别每个对象,然后打印值。

        Person p = new Person();
    p.setPersonId(1);
    p.setPersonName("Tom");
    
    List<Object> lstObject = new ArrayList<Object>();
    lstObject.add(1232);
    lstObject.add("String");
    lstObject.add(122.212f);
    lstObject.add(p);
    
    for (Object obj : lstObject) {
        if (obj.getClass() == String.class) {
            System.out.println("I found a string :- " + obj);
        }
        if (obj.getClass() == Integer.class) {
            System.out.println("I found an int :- " + obj);
        }
        if (obj.getClass() == Float.class) {
            System.out.println("I found a float :- " + obj);
        }
        if (obj.getClass() == Person.class) {
            Person person = (Person) obj;
            System.out.println("I found a person object");
            System.out.println("Person Id :- " + person.getPersonId());
            System.out.println("Person Name :- " + person.getPersonName());
        }
    }
    

    您可以在此链接上找到有关对象类的更多信息Object in java

  • 戚阳文
    2023-03-14

    (1)

       ArrayList<Object> list = new ArrayList <>();`     
       list.add("ddd");
       list.add(2);
       list.add(11122.33);    
       System.out.println(list);
    

    (2)

     ArrayList arraylist = new ArrayList();
     arraylist.add(5);        
     arraylist.add("saman");     
     arraylist.add(4.3);        
     System.out.println(arraylist);
    
    景哲
    2023-03-14

    你可以让它像:

    List<Object> sections = new ArrayList <Object>();
    

    (推荐)另一种可能的解决方案是使用两个参数创建一个自定义模型类,一个是整数,另一个是字符串。然后使用该对象的ArrayList

     类似资料:
    • 问题内容: 我是一个自学者。当前,我正在制作一个需要矩阵型数据库的GUI项目。 我想学习如何创建一个可以在arraylist中存储多个对象的类。 这是我的示例代码。请注意,这只是我的尝试。该代码尚未完成,因此无法正常工作。 谢谢你的热心帮助。 }} 问题答案: 我认为一种更好的方法是创建一个用户信息类来存储特定用户的信息。 然后将其放入ArrayList中。 然后,对于您当前的方法,您可以

    • 所以我不确定是0还是2。 如果有人知道请告诉我。

    • 尝试使用mapstruct将两个列表映射到另一个列表时遇到问题。结构如下: 我需要将来自类C和类B的列表映射到类A中的列表(从对象B和对象C到对象A的映射已经完成)。我尝试了以下方法: 这给我带来了编译错误。有人能帮我映射这些列表吗?我听说过一个名为异常的注释参数,但无法解决我的问题。 谢谢

    • 问题内容: 我的模特: 我想同时保存并保存在该模型中: 我知道这是错误的,但是我敢肯定,你会明白我的意思。你会怎么做? 问题答案: 你不能从未保存的对象创建m2m关系。如果有pk,请尝试以下操作: 更新:阅读了saverio的答案后,我决定对这个问题进行更深入的研究。这是我的发现。 这是我最初的建议。它可以工作,但不是最佳选择。(注意:我使用的是和而不是s和,但你明白了。) 它总共产生7个查询:

    • 我有一个gradle android项目,有两个模块: 穿 在我的gradle配置中,我有不同的构建类型。默认设置(debug和release,每个都有自定义设置)以及dev和beta构建类型(也有自定义签名、自定义proguard和自定义applicationIdSuffix)。 我现在想做的是使用构建类型测试版(gradle清洁组件测试版)构建应用程序包。这就开始在测试版中构建应用程序,看到它

    • 我看到过许多开发人员发布的问题(Android Studio将2.AAR合并为一个或其他),但我还没有看到一个明确的答复,使我能够创建一个包含一个或多个AAR或jar的AAR(我可以使用jar,因为我不需要共享任何资源;只需要共享类)。以下是我的图书馆项目的应用程序分级: 我读过关于传递依赖的文章,但我找不到一个可以帮助解决我的情况的示例实现。