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プロジェクトに追加すると、「メソッドhigher(Date)はタイプTreeSetに対して未定義です」というエラーが表示されますが、このhigher()はJavaアプリケーションで完全に機能しています.....Androidでより高いメソッドを使用するにはどうすればよいですか? ?

4

2 に答える 2

1

コメントの引数は別として、本当に.higher()を使用したい場合は、最小APIレベルを9以上に設定する必要があります。

于 2013-02-11T09:44:38.987 に答える
1

コンパイラのコンプライアンス設定はJRE1.4に設定されています(higher1.5で最初に登場)。プロジェクトの構成を確認します(どのツールまたはIDEであるかさえ知らずに、詳細を提供することは困難です)。

最近のバージョンのAndroidは、サポートするだけでなく、JRE1.5または1.6への準拠も必要とします。それから私はすぐにテストすることができます、Android 2.2 APIレベル8は文句を言います、そしてAndroid3.1レベル12はすでに文句を言いません。今日の時点で、最新のレベルは17です。

Android用の適切なアプリケーションを構築する方法については、開発者向けマニュアルを確認してください。public static void main(String[] args)これを行う正しい方法ではありません。

于 2013-02-11T09:45:00.883 に答える