2017-01-19 6 views
0

ハロー仲間のプログラマー、キャスティング(?)未知のサブクラスの参照に知られているスーパークラスのオブジェクト

は、私は今のJavaプロジェクトに取り組んでいると私は未知のサブクラスに知られているスーパークラスをキャストしようとしています。

public void getShirtType(Person person) { 

    Clothing article; // Clothing is a superclass of different subclasses of Clothing 

    for(Clothing clothing : person.getClothing()) { // person.getClothing() returns List<Clothing> 

     if(clothing.hasSleeves()) { // hasSleeves() is boolean 

      article = ???; 
      break; 

     } 

    } 
} 

このコードは、袖と衣服の記事の最初のインスタンスを取得し、ループを終了します。

は、ここでは、コードです。

私は疑問符の場所に何を置くべきかわかりません。通常、私はちょうどarticle = (SleevedShirt) clothing;のようなものを持つことができますが、その中に括弧の中に入ることができるSleevedShirtのほかに、さまざまなサブクラスがあります。

あなたの意見を教えてください。

また、私はほとんど初心者ですから、もしあなたがそれを提供したいのであれば、私のコードに関連した建設的な扇動性は気にしません。

+1

'article =' clothing'なので 'article =' clothing'ですか?キャストは必要ありません。 – Andreas

+0

それは簡単ですか?さて、私はそれを試してみましょう。ありがとう。 –

答えて

0

十分です

article = clothing; 

として(SleevedShirt)へのキャストの必要はありません。

+0

情報ありがとうございます。 –

関連する問題