簡體   English   中英

在堆中創建`LocalDate`(java.time)時出錯

[英]Error with creating `LocalDate` (java.time) in heap

我正在創建一個存儲java.time.LocalDate對象的堆程序。 雖然我在為LocalDate創建臨時變量時遇到麻煩。 我可能犯了一個小錯誤,但這是我的代碼

private void trickleUp(int n) {
    int pIndex;
    if (n != 0) {
        pIndex = getParentIndex(n);
        if (heapA[pIndex].isAfter(heapA[n])) {
            LocalDate temp = new LocalDate(heapA[pIndex]);
            heapA[pIndex] = heapA[n];
            heapA[n] = temp;
            trickleUp(pIndex);
        }
    }
}

我收到錯誤消息“構造函數LocalDate(LocalDate)未定義”

LocalDate是一個不可變的類。 沒有理由創建另一個LocalDate實例的副本。 您只需要

LocalDate temp = heapA[pIndex];

您應該始終檢查所使用類的javadoc。 在這種情況下: http : //docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html 確實,如錯誤消息所言,LocalDate中沒有構造函數將LocalDate作為參數。 實際上,根本沒有構造函數。 通常通過將其他對象轉換為LocalDate或使用javadoc中列出的靜態工廠方法之一來創建LocalDate實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM