Java 在android中比较包含时间的字符串与系统时间

Java 在android中比较包含时间的字符串与系统时间,java,android,date,classcastexception,Java,Android,Date,Classcastexception,我是android新手。我正在以hh:mm格式以字符串形式存储时间,并希望将其与当前系统时间进行比较。如果匹配,我要生成通知。 这是密码 注: 字符串str保存时间 time = days+1; while(i>0) { long hour=calendar.get(calendar.HOUR_OF_DAY); long min=calendar.get(calendar.MINUTE); String str = alarm[ti

我是android新手。我正在以hh:mm格式以字符串形式存储时间,并希望将其与当前系统时间进行比较。如果匹配,我要生成通知。 这是密码

注: 字符串str保存时间

     time = days+1;
    while(i>0)
    {    
    long hour=calendar.get(calendar.HOUR_OF_DAY);
    long min=calendar.get(calendar.MINUTE);
    String str = alarm[time];
    SimpleDateFormat formatter = new SimpleDateFormat("hh:mm");
    try {
       Date date = (Date)formatter.parse(str);
       Calendar c2 = GregorianCalendar.getInstance(); // creates a new calendar instance
       c2.setTime(date);   // assigns calendar to given date 
       hours=c2.get(Calendar.HOUR_OF_DAY); // gets hour in 24h format
        minutes=c2.get(Calendar.MINUTE);   
        if(hours==hour && min==minutes)
            {
            builder.setContentIntent(contentIntent)
            .setSmallIcon(R.drawable.ic_books)
            .setLargeIcon(BitmapFactory.decodeResource(res, R.drawable.ic_launcher))
            .setTicker(res.getString(R.string.Cal))
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)
            .setContentTitle("You Have a Lecture !!")
            .setContentText(alarm[time+1]);
            Notification n = builder.build();
            nm.notify(0, n);                                            
            }
        i--;
        time=time+days;
        } catch (java.text.ParseException e) {
            e.printStackTrace();
            }
        }
但是我有一个

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
请帮忙

java.lang.ClassCastException:java.util.Date不能强制转换为 java.sql.Date

这条线

(Date)formatter.parse(str)

返回一个
java.util.Date
对象,但您正在将其强制转换为
java.sql.Date
。检查您的导入并进行调整(从
java.sql.Date
更改为
java.util.Date

您已导入以下包

 import java.sql.Date;
您应该
import
如下所示的包…因此,您应该删除上面的
import
和下面的
import
这个包

 import java.util.Date;

谢谢你的帮助:)