在 awt 或 sql 包中没有为 new Date() 找到合适的构造函数[重复]

Posted

技术标签:

【中文标题】在 awt 或 sql 包中没有为 new Date() 找到合适的构造函数[重复]【英文标题】:No suitable constructor found for new Date() in awt or sql package [duplicate] 【发布时间】:2018-06-26 11:47:15 【问题描述】:

我已经导入了java.sql.*;,但它显示没有找到合适的构造函数

Date() Date 
d=new Date();

这是什么意思?我很困惑:Date 类是否在 sql 包中可用?我还导入了java.util.Date

【问题讨论】:

我评论了 java.util 然后它显示这个错误????? 什么错误?向我们展示一些代码,以便我们能够理解您的奇怪问题... 学习使用 JavaDoc。查看java.util.Date和java.sql.Date的构造函数总结。 在发布之前彻底搜索 Stack Overflow。这个话题已经讨论过很多次了。具体来说,搜索“java.time”和“Instant”。 JsonMappingException: No suitable constructor found for type [simple type, class ]: can not instantiate from JSON object的可能重复 【参考方案1】:

让我先让步:真正解决您的问题的好方法是完全避免使用早已过时的java.sql.Date 类。它曾经用于将日期存储到 SQL 数据库中并取回它们,但现在最好使用现代 Java 日期和时间 API java.time 中的LocalDate。获取当前日期:

    LocalDate ld = LocalDate.now(ZoneId.of("Asia/Shanghai"));

如果不是亚洲/上海,请替换所需的时区。

但是,回答您的问题:当您键入 new Date() 时,您正在尝试调用不带任何参数的构造函数。这需要一个没有任何参数的构造函数。很多类都有这样的构造函数,但不是所有的类。

现在看看the API documentation of the java.sql.Date class。你会看到它有两个构造函数,Date(int year, int month, int day)Date(long date)(前者已被弃用,这意味着如果有任何方法可以避免它)。两个构造函数都有参数,因此它们都不匹配您尝试调用不带参数的构造函数。换句话说,它们都不适合您尝试的调用。这就是消息的含义。

该类当然在java.sql 包中可用。问题仅在于构造函数(并且类已过时,但我在重复自己)。

【讨论】:

以上是关于在 awt 或 sql 包中没有为 new Date() 找到合适的构造函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java awt包中Graphics类中drawChars怎么用

JTable写入数据库内容

[javaSE] GUI(图形用户界面)

java中常用的包类以及包中常用的类方法属性----sql和textswing

AWT

我正在使用 java 中的 awt 包编写程序,但没有添加我的组件