2012-03-18 8 views
0

を印刷すると、私はこのように私のowndefinedデータ型を持って言うことができます私はちょうど私が右のemを得た場合、私はちょうどそれらに(私はそのと呼ばれると思う)のポインタを取得していないチェックするループを行う際Javaの混在データタイプ/彼らに

 theInfo.add(new InformationType(theBrand, theNumber, thePower)) 

:私は私は1を作成したのと同じ型の配列にそれらすべてを追加します実際の文字列/ int/double。私はゲッターを使わずにすべてのタイプをプリントしたい。これは私が何をすべきかです:

 for (InformationType x : theInfo) 
    { 
      System.out.println(x); 
    } 

と私はInformationType @ abcd12412413などのようなものを得る。..

とええ、私はtheInfoを作った:

 ArrayList<InformationType> theInfo = new ArrayList<>(); 

感謝。

答えて

2

toStringを上書きする必要があります。例:

public class InformationType { 
    ... 

    @Override 
    public String toString() { 
     return "{" + brand + "," + number + "," + power + "}"; 
    } 
} 

これは自動的にprintlnによって呼び出されます。

+0

現在作業中です。私は実際に私が "返すString"を持っていて、 "return String.format"を持っていたので、String部分を削除し、あなたのものを編集しました。ありがとう。 –

0

InformationTypeクラスのtoString()メソッドを上書きする必要があります。必要な形式でデータのStringを返すように記述します。おそらく、このような何か:

public String toString() { 
    return String.format("%s %d %f", brand, number, power); 
} 

すべてのオブジェクトはtoString()方法を持っていますが、デフォルトの実装は、タイプ名、「@」記号、および六角内のオブジェクトのハッシュコードを印刷することです。 toString()を無効にすると、好きなものを返すことになります。唯一の制限は、実際にnullを返すべきではないということです。

2

toString()InformationTypeに上書きする必要があります。

オーバーライドメソッドは、InformationTypeのインスタンスがStringとして表現されるようにする方法relfect必要があります。