2017-08-17 13 views
-1

私はList<Date>に格納された日付のリストを持っており、getDatesメソッドからデータを取得します。そして今、私はArrayList<String>に変換したいが、私はこのエラーを得た:リスト<Date>をArrayList <String>に変換できますか?

ArrayList cannot be applied to java.util.List.

私はリストから日付の形式を変更したいので。そして私はこの1つを試しましたConvert ArrayList of String type into Date type? と日付を変換するには、最初の日付は文字列として格納する必要がありますが、私の場合は、リスト内の私の日付のストア。問題は、私はまだ文字列にリストを変換することはできません。

これは私のコードです:

List<Date> dates = getDates(date1, date2); 
ArrayList<String> dateStringList = new ArrayList<>(); 
dateStringList.add(dates); 

ArrayList<String>List<Date>でデータを変換する方法はありますか? 私は非常に多くの方法を試しましたが、まだエラーがあります。

+0

日付のリストをループし、それぞれを文字列に変換し、dateStringListに文字列を追加します。グーグル「日付を文字列に変換する」Javaはあなたに何十という答えを与えるでしょう –

+0

ArrayListの代わりにリストとしてdateStringListをインスタンス化します – Jay

+0

「日付」を「文字列」に変換する(これは実際には*書式設定と呼ばれます)広い質問には、それを行うためのさまざまな方法があります。例:今日の日付は '17/08/2017'、' Aug 17th 2017'、 'Thu Aug 17 13:19:00 BRT 2017'などと書式設定できます。あなたはあなたが望む形式を知る必要があります。とにかく、すでに多くの質問がありますので、最初に検索してください。答えが見つからない場合は、検索された質問があなたの問題を解決しなかった理由を説明する** 。 *私は非常に多くの方法を試しました* - そう[編集]質問と同様にあなたの試みを追加します。 –

答えて

-1

あなたは、それを達成するため、以下のようにするように拡張forループを使用する必要があります:文字列に変換し、

上記のコードで
List<Date> dates = getDates(date1, date2); 
List<String> dateStringList = new ArrayList<>(); 

for (Date date : dates) { 
    String dateStr = String.valueOf(date); 
    dateListString.add(dateStr); 
} 

、我々は実際にループそれぞれdatesリスト内のすべての日それらをdateListStringリストに追加します。

そして、あなたは、特定の形式で日付ストリングを必要とする場合は、以下の必要な形式に変更するとメソッドを使用する必要があります。

public static String dateToString(Date date) { 
    String convertedDate = ""; 

    try { 

     DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); 
     convertedDate = dateFormat.format(date); 

    } catch (Exception e) { 
     e.printStackTrace(); 
     Log.e("dateToString_EX", e + ""); 
    } 

    return convertedDate; 
} 

そしてfor()ループ内で以下のようにそれを呼び出す:

for (Date date : dates) { 
    //String dateStr = String.valueOf(date); 
    String dateStr = dateToString(date); 
    dateListString.add(dateStr); 
} 
+0

そんなに、その仕事:) @サム – dazzle

+0

あなたのために働いて、ハッピーバディ! – sam

+0

これは実際に受け入れられた回答Mr. DownVoterです、なぜあなたは不必要に投票を下しますか? – sam

0

私は、これはあなたが後にしているものだと思う:

List<String> dateListString = new ArrayList<>(); 
for(Date date : dates) { 
    dateListString.add(date.toString()); 
} 
0

あなたはジャックまたはJaCoCo(それについてhere詳細情報)を使用する場合、あなたがそれにラムダとストリームを使用することができます!

List<Date> myVarList = Arrays.asList(new Date(), new Date(), new Date(), new Date()); 
List<String> myVarListString = new ArrayList<>(); 

myVarListString.addAll(myVarList.stream().map(x -> x.toString()).collect(Collectors.toList())); 

System.out.println(myVarListString); 
System.out.println(myVarList); 
関連する問題