首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Date 類構造函數報錯:導包錯誤與過時用法

     編輯:程式設計綜合問答

錯誤現象

import java.sql.Date;
Date d1 = new Date(); // 報錯:The constructor Date() is undefined
Date d2 = new Date("114020303034L"); // 傳字符串構造

根本原因

  1. 導入包錯誤:java.sql.Date 無無參構造函數,也無字符串構造函數。應導入 java.util.Date。
  2. 構造函數過時:java.util.Date(String) 自 JDK 1.1 起已過時,不建議使用。

正確用法

import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        // 無參構造:當前時間
        Date d1 = new Date();
        System.out.println(d1);

        // 帶長整型毫秒數構造
        Date d2 = new Date(114020303034L);
        System.out.println(d2);

        // 現代推薦:java.time 包 (JDK 8+)
        // LocalDateTime.now(), Instant.ofEpochMilli(...)
    }
}

避坑指南

  • 區分 java.sql.Date(JDBC 用)與 java.util.Date(通用)。
  • 新項目優先使用 java.time.LocalDateTime、Instant 等不可變、線程安全的 API。
  • 解析字符串日期請用 DateTimeFormatter。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved