0

这是我作为 java 应用程序执行时的代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import java.util.Locale;
import java.util.TreeSet;

public class DateRounding {

public static void main(String[] args) throws ParseException {


List ls=new ArrayList();

ls.add (new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse("2010-02-31-14-30"));
ls.add(new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse("2010-02-31-14-50"));
ls.add(new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse("2010-02-31-14-10"));
ls.add(new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse("2010-02-31-14-01"));
final Calendar c = Calendar.getInstance();
String string = "2010-02-31-14-00";
Date date = new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse(string);
Date x=getDateNearest(ls , date);
System.out.println("date:"+x);
System.out.println(ls.indexOf(x));
System.out.println("index:"+ls.indexOf(new SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.ENGLISH).parse("2010-02-31-14-10")));


}




private static Date getDateNearest(List<Date> dates, Date targetDate){
    return new TreeSet<Date>(dates).higher(targetDate);

         // return targetDate;

    }

}

当我将相同的代码添加到 android 项目时显示错误“TreeSet 类型的方法更高(日期)未定义”,但是这个更高()在 java 应用程序中运行良好.....我如何在 android 中使用更高的方法?

4

2 回答 2

1

撇开注释中的参数不谈,如果你真的想使用 .higher(),那么你必须将最低 API 级别设置为 9 或更高。

于 2013-02-11T09:44:38.987 回答
1

您的编译器的合规性设置设置为 JRE 1.4(higher首次出现在 1.5 中)。检查项目的配置(很难在不知道它是哪个工具或 IDE 的情况下提供详细信息)。

最新版本的 Android 不仅支持,甚至要求遵守 JRE 1.5 或 1.6。从中我可以快速测试,Android 2.2 API level 8 抱怨和 Android 3.1 level 12 已经没有。截至今天,最新的水平是 17。

查看开发人员手册,了解如何为 Android 构建正确的应用程序。public static void main(String[] args)这不是正确的方法。

于 2013-02-11T09:45:00.883 回答