2017-02-18 84 views
-2

所以我是新来的Java和学习,而我编程。我有一个名为Compiler的类,它有许多不同数据类型的变量。我目前有他们作为单独的变量,但理想情况下,他们需要在一个数组列表,然后我可以在另一个类叫做经纪人。如何在Java中使用多种数据类型在另一个类中使用数组创建一个数组

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; 

这是我的代码的开始,我一直在试图让一个数组,我可以在我的经纪类使用,但我挣扎,谁能帮助?

+1

在Broker类中,您可以创建一个Compiler实例的ArrayList(从声明中移除静态 - 它具有您不想在这种情况下的特定语义 - 尽管没有看到更多代码,但很难说)。例如:列表编译器=新ArrayList (); compilers.add(new Compiler()); ... –

+0

不清楚变量是如何存储的。它应该是一个对象中的多个数组还是一个多个对象的数组? – K3v1n

+0

欢迎来到Stack Overflow!请参考[游览](http://stackoverflow.com/tour),环顾四周,阅读[帮助中心](http://stackoverflow.com/help),特别是[我该如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)和[我可以问什么问题?](http://stackoverflow.com/help/on-topic)。 - 你的问题是无法精确地被夸大。也许你解释你的程序的目的和你认为你需要这个数组的原因...... –

回答

1

如果你想存储多个Compiler对象,那么你可以使用ArrayList<Compiler>(如在评论中提到詹姆斯·弗莱),像这样:

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)方法添加和删除元素。

+0

对不起,我还是很新的,那么如何将这些项目添加到数组列表呢? – Olivia

+1

自Java 7以来,您可以省略类型(使用菱形语法)。 –

+0

@DavidConrad哦谢谢! :) – K3v1n

0

可以创建一个Object[]阵列,可存储任何值:

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

然而,通常情况下,最好是限定在那里这样的值分配给字段(通常由get.../set...方法来访问一个类),每个都有明确的类型和含义。

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

0

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

相关问题