【问题标题】:how can i call the strings from a arraylist individually?我如何单独调用数组列表中的字符串?
【发布时间】:2013-06-03 03:06:08
【问题描述】:

我正在制作一个程序来生成两个日期之间的日期。日期来自DateChooser。当我点击一个按钮时,两个日期之间的日期是这样生成的:

    date1 Jun 5, 2013  
    date2 June 20, 2013

使用此代码

    Calendar cal2 = Calendar.getInstance();
    cal2.setTime(toDate);
    while (cal2.getTime().before(newDateString)) {
        cal2.add(Calendar.DATE, 1);
        String datelist=(format.format(cal2.getTime()));
        System.out.println(datelist);

它会生成这个输出

2013-06-18
2013-06-19
2013-06-20
2013-06-21
2013-06-22
2013-06-23
2013-06-24
2013-06-25
2013-06-26
2013-06-27
2013-06-28
2013-06-29
2013-06-30
2013-07-01
2013-07-02

我的问题是我想在JTable 上输出它。我尝试像System.out.println(arrayImageList.get(2)); 一样从datelist 调用每个string,但它没有用。如何将datelist 输出到JTable 或单独调用datelist 中的每个元素?

    final String oldy= ("yyyy-MM-dd");
    final String newy = ("MMMM dd, yyyy");

    SimpleDateFormat formatty = new SimpleDateFormat(oldy);
    java.util.Date datey=null;

    //format the final date output to MMMM-dd-yyyy
    try {
        datey=formatty.parse(datelist);
        java.util.Date newqwe2 = new SimpleDateFormat(oldy).parse(datelist);
        String eqweqwe = new SimpleDateFormat(newy).format(newqwe2);

        ArrayList<String> arrayImageList = new ArrayList<String>();
        List<String> strlist2 = new ArrayList<String>();

        arrayImageList.addAll((List<String>) Arrays.asList(eqweqwe));                                                                   

        for(int i = 0; i < arrayImageList.size(); i++){
            strlist2.add(arrayImageList.get(i));

            System.out.println(strlist2.get(2));

抱歉,帖子太长了,但我只想让你们了解整个过程,以防万一遗漏了什么。

【问题讨论】:

  • 否决票?有什么理由吗?...

标签: java string arraylist jtable jdatechooser


【解决方案1】:

在我看来,你做了很多不必要的工作。如果您使用 Calendar 对象,您可以非常高效地做到这一点。将两个日期都放在Calendar 的对象中,并将它们命名为toDatefromDate。你只需运行一个while 循环,不断增加fromDate 直到它大于toDate 并打印出来。

Calendar fromDate;
Calendar toDate;

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

while(fromDate.compareTo(toDate) < 0)
{
   System.out.println(df.format(fromDate.getTime()));
   fromDate.add(Calendar.DATE, 1);
}

您还可以使用循环来处理其他事情(例如,为JTable 填充列表或模型)。在这种情况下,只需列出 StringDate 对象,然后将来自 getTime()format() 的返回值放在列表/模型中。

【讨论】:

  • “把两个日期都放在 Calendar 的对象中,并将它们命名为 toDate 和 fromDate。” 这是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2015-04-15
  • 2021-07-03
  • 1970-01-01
相关资源
最近更新 更多