将字符串转换为最新Java

将字符串转换为最新Java,java,Java,你知道为什么这不起作用吗 DateFormat df = new SimpleDateFormat("dd/mm/yyyy"); Date date1 = null, date2 = null; String start, finish; System.out.println("Please enter a start date:"); while(date1 == null){ try{ start = scan.next

你知道为什么这不起作用吗

DateFormat df = new SimpleDateFormat("dd/mm/yyyy");
    Date date1 = null, date2 = null;
    String start, finish;
    System.out.println("Please enter a start date:");
    while(date1 == null){
        try{
            start = scan.next();
            date1 = (Date) df.parse(start);
        }catch(ParseException e){
            System.out.println("Please enter a valid date!");
        }
    }
我得到一个classCastException

Exception in thread "main" java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

我看不出问题出在哪里?

您正在导入
java.sql.Date
而不是
java.util.Date

import java.sql.Date 

在上面的某个地方。必须小心两个
Date
类;它们不能互换

Hello请尝试使用java.util.Date,而不是仅使用Date:

Java.util.DateFormat df = new SimpleDateFormat("dd/mm/yyyy");
    Java.util.Date date1 = null, date2 = null;
    String start, finish;
    System.out.println("Please enter a start date:");
    while(date1 == null){
        try{
            start = scan.next();
            date1 = (Java.util.Date) df.parse(start);
        }catch(ParseException e){
            System.out.println("Please enter a valid date!");
        }
    }

非常感谢。我们将来会注意这一点