2016-08-17 12 views
1

マイクラスは以下の通りです。どのくらいの文字列をItemTextという値しか持たないArrayList<TestA>からString[]にキャストするにはどうすればいいですか?どちらが最善の方法ですか?Javaカスタムリストから文字列へ

public class TestA implements Serializable { 
    private String ItemSrc; 
    private String ItemText; 

    public String getItemText() { 
     return this.ItemText; 
    } 

} 
+1

なぜループには? whileループはどうですか? java8を使用しますか?ストリーム?なぜそれは鋳造物でなければならないのですか? –

+0

できません。すべての要素を繰り返し処理し、新たに作成された配列に '' ItemText''だけを配置する必要があります。 – f1sh

+0

Listクラスは汎用クラスであり、最初はロードする必要があります。他のコントロールの場合は、このクラスのプロパティの値のみを使用します。だから私はリストクラスにキャストする必要があります。 –

答えて

4

あなたはArrayList<TestA> testsを持っており、あなたがjava8のストリームを使用することができますjava-8

tests.stream().map(TestA::getItemText).toArray(String[]::new); 
+0

キャストの必要がないので、私の答えよりも優れています。いい答えだ! – f1sh

+0

*は、java-8 *の危険な前提を使用できます。 Java 7の場合はどうしますか? –

+0

はAndroid向けのjava-8ですか? –

2

を使用することができないと仮定すると:

ArrayList<TestA> l = [...]; // your arrayList 
String[] array = (String[]) l.stream().map(a->a.ItemText).toArray(); 
関連する問題