如何在Java中创建一个包含多个数据类型的数组,以便在另一个类中使用

如何在Java中创建一个包含多个数据类型的数组,以便在另一个类中使用,java,arrays,class,arraylist,Java,Arrays,Class,Arraylist,所以我是Java新手,在编程的同时学习。我有一个叫做编译器的类,它有许多不同数据类型的变量。我目前将它们作为单独的变量,但理想情况下,它们需要在数组列表中,然后我可以在另一个名为Broker的类中使用 import java.util.ArrayList; public class Compiler{ public static String item="top"; public static Integer minprice=8; public

所以我是Java新手,在编程的同时学习。我有一个叫做编译器的类,它有许多不同数据类型的变量。我目前将它们作为单独的变量,但理想情况下,它们需要在数组列表中,然后我可以在另一个名为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类中使用的数组,但我正在努力,有人能帮我吗?

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

Object[] array = new Object[]{"top", 8, 15, 1};
但是,通常情况下,最好定义一个类,在该类中将这些值分配给字段(通常由
get…
/
set…
方法访问),每个字段都具有定义良好的类型和含义


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

如果您想要存储多个
Compiler
对象,那么您可以使用
ArrayList
(正如James Fry在注释中提到的那样):

公共类编译器{
公共字符串item=“top”;
公共价格=8;
公共整数maxprice=15;
公共整数数量=1;
}
公共类经纪人{
//如果您使用的是JavaSE7,那么可以在这里省略该类型
ArrayList arr=新的ArrayList();
}
要改进设计,可以将访问修改器设置为
private
并创建


您可以使用这些方法添加和删除元素。

不能在单个ArrayList中混合使用不同的类型。如果您的目标是将这四个变量传递给Broker,然后将字符串用于一件事情,第一个int用于其他事情,等等。只需将字段设置为非静态并构造一个编译器对象,然后将该对象传递给Broker并从中检索变量。

在Broker类中,您可以创建编译器实例的ArrayList(尽管从声明中删除static—在本例中,它具有您不希望看到的特定语义—但在没有看到更多代码的情况下,很难判断)。例如:List compilers=new ArrayList();compilers.add(new Compiler());…不清楚变量是如何存储的。它应该是一个对象中的多个数组还是多个对象中的一个数组?欢迎来到堆栈溢出!请看一下,仔细阅读,尤其是和。-你的问题是要确保答案准确。也许你可以解释一下你的程序和r的用途eason为什么你认为你需要这个数组…阅读抱歉,我还是一个新手,那么我如何将项目添加到数组列表中?从Java 7开始,你可以省略类型(使用菱形语法)。@DavidCorad噢,谢谢!:)@Olivia请看我的编辑:)
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>();
}