首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

jdk中Date与timestamp转换错误的有关问题

2012-12-20 
jdk中Date与timestamp转换异常的问题问题代码:import java.sql.Timestampimport java.util.Datepublic c

jdk中Date与timestamp转换异常的问题
问题代码:

import java.sql.Timestamp;
import java.util.Date;

public class T {
public static void main(String[] args) {
Object newObj = new Date(1999,9,10);
Object dbObj = new Timestamp(1);
int compResult = ((Date)dbObj).compareTo((Date)newObj);
}


jdk1.5.06代码:
  public int compareTo(java.util.Date o) {
        return compareTo((Timestamp)o);
    }
异常:
Exception in thread "main" java.lang.ClassCastException: java.util.Date
at java.sql.Timestamp.compareTo(Timestamp.java:474)
at com.test.T.main(T.java:10)



jdk1.5.16代码:
public int compareTo(java.util.Date o) {
       if(o instanceof Timestamp) {
            // When Timestamp instance compare it with a Timestamp
            // Hence it is basically calling this.compareTo((Timestamp))o);
            // Note typecasting is safe because o is instance of Timestamp
           return compareTo((Timestamp)o);
      } else {
            // When Date doing a o.compareTo(this)
            // will give wrong results.
          Timestamp ts = new Timestamp(o.getTime());
          return this.compareTo(ts);
      }
    }





热点排行