リストが文字列配列に変換されています。配列のインデックス0では、文字列"Select a value"
が割り当てられています。今度はString配列を反復処理するとき、最初の要素は "値を選択"として割り当てた値でオーバーライドされます。以下は 最初の要素はjava.util.Listでオーバーライドされます
List<LocalDate> localDatesList = new ArrayList<LocalDate>();
localDatesList.add(new LocalDate());
localDatesList.add(new LocalDate().plusDays(1));
localDatesList.add(new LocalDate().plusDays(2));
localDatesList.add(new LocalDate().plusMonths(1));
localDatesList.add(new LocalDate().plusMonths(2));
List<String> tempDatesList = new ArrayList(localDatesList.size());
for (LocalDate date : localDatesList) {
tempDatesList.add(date.toString());
}
String[] formattedDates = tempDatesList.toArray(new String[localDatesList.size()]);
formattedDates[0]="Select a value";
for (String dates : formattedDates) {
System.out.println(dates);
}
出力:私は1サイズを大きくしようとしたが、null
は最後のインデックスに追加され、それが現在の日付が表示されないです
2016-10-14
2016-10-15
2016-11-13
2016-12-13
(私がリストに追加した最初の要素)。
私が紛失していることをお勧めします。インデックス0またはリストの最初の要素に値"Select a Value"
を追加するにはどうすればよいですか。 formattedDates[0]="Select a value"
を追加したときに最初の要素がリストにありません。あなたはこの行のこぶしの要素を上書きしている
このコードを実行すると、まず「値を選択」が表示されます。リストに* 5 *要素があり、出力に* 4 *だけしか表示されていない場合、何らかの理由で出力の最初の行が表示されないということが強く疑われます。あなたが作成したコードをコンソールアプリに入れて、自分が何をしているのか確かめてください。さて、「間違った」価値観はどうですか?それは実際にコンソールアプリケーション、または他のどこですか? –
なぜ 'tempDatesList'が必要ですか? – Jerry06