如何在Java中创建一个具有多种数据类型的数组,以便在另一个类

时间:2017-02-18 13:34:47

标签: java arrays class arraylist

所以我是Java新手并在编程时学习。我有一个名为Compiler的类,它有许多不同数据类型的变量。我目前将它们作为单独的变量,但理想情况下它们需要在数组列表中,然后我可以在另一个名为Broker的类中使用它。

import java.util.ArrayList;

public class Compiler{
        public static String item="top";
        public static Integer minprice=8;
        public static Integer maxprice=15;
        public static Integer qty=1;

这是我的代码的开始,我一直在尝试制作一个我可以在我的Broker课程中使用的数组,但是我很挣扎,有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

如果您想存储多个Compiler个对象,那么您可以使用ArrayList<Compiler>(如评论中James Fry所述),如下所示:

public class Compiler {
    public String item="top";
    public Integer minprice=8;
    public Integer maxprice=15;
    public Integer qty=1;
}

public class Broker {
    // If you are using Java SE 7,          you can omit the type here
    ArrayList<Compiler> arr = new ArrayList<Compiler>();
}

要改进设计,您可以将访问修饰符设置为private并创建getter and setter functions

您可以使用add(T) and remove(int)方法添加和删除元素。

答案 1 :(得分:0)

您可以创建一个Object[]数组,您可以在其中存储任何值:

Object[] array = new Object[]{"top", 8, 15, 1};

但是,通常情况下,最好定义一个类,将这些值分配给字段(通常由get... / set...方法访问),每个类都有明确定义的类型和含义。< / p>

此外,static表示字段存储在类中,并且它们在每个Compiler对象中具有相同的值,这可能不是您想要的。

答案 2 :(得分:0)

您不能在单个ArrayList中混合使用不同的类型。如果你的目标是将这四个变量传递给Broker,然后将String用于一件事,那么第一个int用于其他东西,等等只是使字段非静态并构造一个Compiler对象,然后将对象传递给Broker并检索来自那里的变量。