`
lxk1314
  • 浏览: 64056 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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





分享到:
评论

相关推荐

    java生成唯一id(uuid)(不依赖jdk5,自己实现的)

    以上代码只是一个基本的示例,实际应用中可能需要处理更多的边界情况和安全性问题,比如确保生成的UUID在高并发环境下的唯一性,以及优化性能等。此外,还可以考虑使用更安全的哈希算法(如SHA-1或SHA-256)来增强...

    解决mybatis-plus使用jdk8的LocalDateTime 查询时报错的方法

    如果以上方法都不可行,可以考虑将实体类中的`LocalDateTime`字段改为`Date`或`Timestamp`,并在需要使用`LocalDateTime`的地方进行类型转换。 确保在你的Mybatis-Plus配置中正确地注册了自定义的TypeHandler,...

    java_mysql_数据类型对照.doc

    在IT领域,特别是软件开发与数据库管理中,Java与MySQL之间的数据类型映射是一个至关重要的知识点,它确保了数据在不同平台间能够准确无误地转换与存储。根据提供的文件信息,我们可以深入探讨这一主题,解析Java与...

    ora-01460 错误原因分析

    这一错误通常发生在数据类型转换或者与操作系统之间的数据交换过程中,特别是在不同字符集之间进行转换时。 #### 错误详情 当执行某些特定的操作,如数据导入导出、跨平台复制表空间等时,如果涉及到的数据类型在...

    深圳某公司JAVA程序员面试试题~~

    - **`java.sql.Timestamp`**:同样是一个与`java.util.Date`类相关的瘦包装器,但它允许JDBC将其标识为SQL `TIMESTAMP`值。它支持保存SQL `TIMESTAMP`毫秒值,并提供了支持时间戳值的JDBC转义语法的格式化和解析...

    LocalDateTime在项目中的使用(LocalDateTime对接前端通过时间戳互转、LocalDateTime对接数据库)

    随着Date和Timestamp类的逐渐淘汰,`LocalDateTime`在新项目中得到了广泛的应用。然而,由于前后端时间数据传输的标准通常是时间戳,这导致了在使用`LocalDateTime`时遇到一些挑战。本文作者分享了在使用`...

    于笑扬java综合知识点总结-必背.pdf

    于笑扬java综合知识点总结-必背 ...这些类型可以相互转换,例如将 Date 转换为 Timestamp。 阶乘 阶乘是一个数学函数,表示一个数的所有小于或等于该数的正整数的乘积。例如,5 的阶乘是 5*4*3*2*1=120。

    logstash 开发环境配置

    在这个例子中,`file` 输入插件读取指定的日志文件,`grok` 过滤插件解析日志条目的结构,`date` 过滤插件将时间戳转换为可搜索的日期格式,最后`elasticsearch` 输出插件将处理后的数据发送到本地的Elasticsearch...

    最新版linux logstash-8.5.0-linux-x86-64.tar.gz

    在Linux环境中,Logstash被广泛用于日志管理和分析,能够从各种来源接收日志数据,进行过滤、转换,并将结果发送到各种目标,如Elasticsearch、文件、数据库或消息队列。 最新版的 Logstash 8.5.0 为用户提供了一...

    最新版linux logstash-8.5.2-linux-x86-64.tar.gz

    Logstash 是 Elastic Stack(以前称为 ELK Stack)的一部分,与Elasticsearch、Kibana和Beats一起工作,构建了一个全面的日志管理和分析解决方案。Logstash通过其灵活的配置系统,能够接收各种不同来源的数据,如...

    Java方法实例

    Date futureDate = new Date(timestamp); // 将时间戳转换回Date对象 ``` 通过以上实例,我们可以看到Java提供了丰富的API来处理各种常见的编程任务,从简单的环境变量获取到复杂的日期操作,Java都能很好地支持...

    于笑扬java综合知识点总结-必背(吐血推荐).doc

    于笑扬Java综合知识点总结 一、JDK常用的包 ...Java中提供了多种时间类型,包括Date、Calendar、Timestamp等,可以通过相应的方法来实现时间类型转换。 十九、阶乘 阶乘是一种数学运算,通过递归计算来实现。

    J2EE-JDBC学习笔记

    使用`DATE`, `TIME`, `TIMESTAMP`类型进行存储,通过`PreparedStatement`的`setDate()`, `setTime()`, `setTimestamp()`方法插入数据,以及`ResultSet`的相应`getDate()`, `getTime()`, `getTimestamp()`方法读取...

    JPA框架新技术: 注解

    - 用于指定实体类中的字段与数据库表中的列之间的映射关系。例如: ```java @Column(length = 32) private String name; ``` 6. **@Transient** - 用于标记某个字段不会被持久化到数据库中。例如: ```java ...

    logstash-6.6.0 百度云地址.txt

    - **环境配置**:确保系统中已安装JDK 8或更高版本,因为Logstash依赖于Java运行环境。 - **启动服务**:进入解压后的目录,执行`bin/logstash`命令启动Logstash服务。 #### 2. 配置文件 Logstash通过配置文件来...

    2024-2025年Java大-中厂高频面试题

    - **日期时间**: `DATE`, `TIMESTAMP`。 #### 2. Redis的基本命令和使用场景 - **`SET`**: 设置键值对。 - **`GET`**: 获取键对应的值。 - **`HSET`**, `HGET`**: 处理哈希类型数据。 - **`ZADD`**, `ZRANGE`**: ...

    Java8生成时间方式及格式化时间的方法实例

    使用这些新API,开发者可以更高效地处理日期和时间,避免了之前Java日期处理中的许多问题和复杂性。例如,`DateTimeFormatter`类用于格式化和解析日期时间字符串,使得格式化工作变得更加直观。在实际项目中,这些...

    ELK的操作使用说明

    4. **数据分析与展示**:Kibana 提供了一个强大的界面来分析和展示存储在 Elasticsearch 中的数据,支持用户自定义各种图表和仪表板。 #### 三、Filebeat 安装与使用 Filebeat 是一个轻量级的日志收集器,主要用于...

Global site tag (gtag.js) - Google Analytics