配列に新しい要素を追加するにはどうすればいいですか? 質問する

配列に新しい要素を追加するにはどうすればいいですか? 質問する

次のコードがあります:

String[] where;
where.append(ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1");
where.append(ContactsContract.Contacts.IN_VISIBLE_GROUP + "=1");

これら 2 つの追加はコンパイルされません。どうすれば正しく動作するのでしょうか?

ベストアンサー1

配列のサイズは変更できません。より大きな配列が必要な場合は、新しい配列をインスタンス化する必要があります。

より良い解決策は、ArrayList必要に応じて拡張できます。このメソッドは、ArrayList.toArray( T[] a )この形式で必要な場合に配列を返します。

List<String> where = new ArrayList<String>();
where.add( ContactsContract.Contacts.HAS_PHONE_NUMBER+"=1" );
where.add( ContactsContract.Contacts.IN_VISIBLE_GROUP+"=1" );

単純な配列に変換する必要がある場合は...

String[] simpleArray = new String[ where.size() ];
where.toArray( simpleArray );

しかし、配列で行うほとんどの操作は、この ArrayList でも実行できます。

// iterate over the array
for( String oneItem : where ) {
    ...
}

// get specific items
where.get( 1 );

おすすめ記事