2014-10-26 42 views
1

我正在創建一個存儲java.time.LocalDate對象的堆程序。雖然我無法爲LocalDate創建臨時變量。我可以做一個小的失誤,但這裏是我的代碼在堆中創建`LocalDate`(java.time)時出錯

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的)是未定義」

+0

您可以向我們展示您的LocalDate課程嗎? – 2014-10-26 16:47:37

+1

@capslock它是Java 8引入的'java.time'包中的標準Java類。 – Pshemo 2014-10-26 16:48:41

回答

5

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

LocalDate temp = heapA[pIndex]; 

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

+0

我知道它是這樣的小東西,謝謝。 – apkisbossin 2014-10-26 17:05:54