2015-11-05 62 views
-5

在我的講座中,有一個關於使用Java構建REST Web服務的示例代碼。這個Java代碼中的「入口」是什麼意思?

GET http://localhost/addressbook/Mr%20Suit 

public Entry getEntry(String personName) { 
    for (Entry entry : addressBook) { 
     if (personName.equals(entry.getName())) { 
      return entry; 
     } 
    } 
    return null; 
} 

我不明白entry在這段代碼中的含義是什麼?

+0

難道是班嗎?像'String'是什麼? –

+1

檢查[在您的類中使用增強型For循環](https://blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with) – sam

回答

2

假設你有一個通訊錄,那麼它將有名稱的人

  1. 地址
  2. 聯繫方式

所以每行應該像

  1. name1 address1 contact1
  2. name2 address2 contact2 。 。 。 。 。 10。name10 address10 contact10

所以基本上每一行是一個項(一個在代碼給出)

現在每個條目包含姓名,地址,聯繫號碼。

該代碼僅需要personName作爲參數,將其與地址簿中的所有條目進行匹配。 如果找到匹配,則返回地址簿的完整行。 這是完整的條目返回。

基本上你是匹配地址簿的每一行來獲得一個特定的名字,當名稱匹配時,你選擇包含名稱和其他細節的行並返回它。

問候。

1

在此示例中,您有一個listaddressBook,從那裏您試圖獲得Entry的對象,該對象與作爲參數傳遞的personName匹配。輸入是名稱與personName相符的對象通過

+0

那麼「Entry entry:addressBook」是什麼意思?由於代碼是要獲取http:// localhost/addressbook/Mr%20Suit。然後地址簿是一個條目,而根據地址簿的西裝先生是另一個條目,我的理解是正確的嗎? –

0

entryEntry對象的名稱。

0

我不明白這個代碼中的「entry」是什麼意思?

entryfor循環的循環變量的名稱。 addressbook數組或迭代器的每個元素都被分配給它,並且循環體被執行...

0

條目是您的教師製作的類。據我所知,Java標準語言中沒有一個名爲「Entry」的類。

我假設類看起來類似:

public class Entry { 

private String name; 

public Entry(String name){ 

    this.name = name; 
} 

String getName(){ 
    return name; 
} 

} 

希望這有助於...

現在在循環:

for (Entry entry : addressBook) { 
     if (personName.equals(entry.getName())) { 
      return entry; 
     } 
    } 

項是Entry類的。你可以有它命名爲:

for (Entry myChoice : addressBook) { 
     if (personName.equals(myChoice.getName())) { 
      return myChoice; 
     } 
    } 

這不要緊,你的名字,但它很重要的是有意義的,並按照慣例

入口進行

是正確的。

0

您的Entry是一個類,它是一個最有可能保存數據(一個bean)的類。

您的方法正在搜索的是名爲addressBook的對象,這可能是一個List,它包含所有條目。當它找到與String同名的Entry傳遞參數時,它將返回該特定的Entry對象。