2016-01-13 24 views
2

我實現了從無到有LinkedList類,它們有以下幾種方法: getHead(), getCount(), addFront(), deleteFront()檢索一個LinkedList只有一個特定的數據(該數據字段包含幾個數據)

我有constructor(String studentAdmNo, String studentName, String gender, String diploma, int year, String status), get set method, toString()

一個學生類和節點包含方法getData(), setData(), getLink(), setLink(), toString()

我添加Student對象插入到鏈表(因此該鏈表數據字段保持幾個數據;這是〜應變g studentAdmNo,String studentName,String性別,String文憑,int年,String狀態)。

但是,我想從數據字段檢索只有一個數據(這是year)。

for (Node j = LinkedList.getHead(); j!=null; j = j.getLink()) 
     { 
      int yearData = ((Integer)j.getData()); //returns everything that is in the data field 
      //what I want is something like j.getData().getYear() but there's an error 
      } 
     } 

我該怎麼做?

+1

getData方法返回的是什麼? –

回答

1

如果您Node.getData()方法返回一個Object,你用它來存儲Student對象,那麼你可以將返回的對象轉換爲Student,並調用適當的獲取。

int year = ((Student)j.getData()).getYear();

+0

工作!謝謝 – Minchae

0

你有干將&制定者,所以只要從要檢索一年,並使用getter爲一年 有可能的方法應該是node.getYear()的調用節點; 其中節點是節點

1

你應該看看下面這個例子的實例(點擊標有旁邊的小几乎隱形按鈕繼續):Why Generics?

我想你應該讓你列表通用。我猜它現在包含Objects。在你的情況下,你應該聲明你的類如class Node<E>class LinkedList<E>,並創建如下鏈接列表:LinkedList<Student>。我也會反對披露類Node。請參閱此快速瀏覽:Encapsulation/Information Hiding

您的getHead()方法應該直接返回Student。然後,你可以簡單地做:

list.getHead().getYear(); 
相關問題