将字符串转换为Java

时间:2011-03-31 12:10:48

标签: 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();
            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

我看不出问题了?

3 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:3)

你有

import java.sql.Date 
顶部的某个地方。要注意两个Date类;它们不可互换。

答案 2 :(得分:0)

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!");
        }
    }