2017-02-18 9 views
-2

私はプログラミングをしながら、Javaを学んだり学習したりするのは初めてです。コンパイラと呼ばれるクラスには、さまざまなデータ型の変数があります。私は現在、別々の変数として持っていますが、理想的には配列リストに入れて、別のクラスのBrokerで使うことができます。別のクラスで使用される複数のデータ型を持つ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; 

これは私のコードの先頭であると私は私が私のブローカークラスで使用できる配列を作るしようとしてきたが、私は苦労してる、誰でも助けることができますか?通常、このような値は、多くの場合、get.../set...方法によってアクセスフィールド(に割り当てられているクラスを定義した方がよい、しかし

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

+1

コンパイラインスタンスのArrayListを作成することができます(宣言から静的なものを削除します - この場合は望ましくない特定のセマンティクスがありますが、それ以上のコードは見当たりません)。例:リストコンパイラ=新しいArrayList (); compilers.add(新しいコンパイラ()); ... –

+0

変数の格納方法は不明です。 1つのオブジェクト内の複数の配列か、複数のオブジェクトの1つの配列でなければなりませんか? – K3v1n

+0

ようこそスタックオーバーフロー! [ツアー](http://stackoverflow.com/tour)を見て回り、[ヘルプセンター](http://stackoverflow.com/help)、特に[どのように私に質問しますか良い質問?](http://stackoverflow.com/help/how-to-ask)と[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)。 - あなたの質問は正確にアナライザされることを目指すことです。あなたのプログラムの目的と、この配列が必要と思われる理由を説明してください。 –

答えて

1

あなたはそうのような(コメントでジェームズ・フライで述べたように)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[]配列を作成することができます)、それぞれ明確な型と意味を持っています。

また、staticは、フィールドがクラスに格納され、各Compilerオブジェクトに同じ値を持つことを示しています。あなたは、複数のCompilerオブジェクトを格納する場合

0

単一のArrayListに異なる型を混在させることはできません。あなたの目標がBrokerにこれらの4つの変数を渡し、次にあるもののために文字列を使用する場合、他のもののための最初のintなどは、フィールドを非静的にしてコンパイラオブジェクトを構築し、そこからの変数。

関連する問題