2010-01-01 4 views
0

Im from php, 그러니 자바를 배우고 싶습니다. for 루프에서 PHP에서 는 난 그냥 아이템 가져 오기 4J Java Array

$items = $this->getItems(); 
for($i=0;$i<count($items);$i++) 
{ 
$myarrayitems[$i] = $items[$i]; 
} 

return $myarrayitems; 

을 배열을 만들려면하지만 자바에서 나는 나 같은 arrayoutofexponsion을 얻었다. 여기

코드 메신저 내가 배열로 제목을 돌려주고 그의 위해서 var_dump를 만들 수있는 방법
public String[] getItems(String url) throws Exception 
{ 
URL rss = new URL(url); 
Feed feed = FeedParser.parse(rss); 
int items = feed.getItemCount(); 
int a = 0; 

for (int i = 0; i < items; i++) 
{ 
FeedItem item = feed.getItem(i); 
String title[i] = item.getTitle(); 
} 

return title; 

} 

을하려고? ,

List<String> title = new ArrayList<String>(); 

나이 :

String title = new String[ARRAY_DIMENSION]; 

당신이 ARRAY_DIMENSION은 당신이 사용할 수있는 알 수없는 경우 :

답변

1

당신은 그것을 사용하는 사용하기 전에 배열로 제목을 정의해야 ArrayList의 String 순서를 신경 쓰지 않는다면 :

Collection<String> title = new ArrayList<String>(); 
+0

그러나 array_dimension이 얼마나 큰지 알 수 없으므로 10 또는 20을 삽입 할 수 있습니다. – streetparade

+0

@ streetparade : 예, 당신은'items' 변수에 확실히 포함되어 있습니다 ... –

2

시작하려면 적절한 수의 요소로 배열을 만들어야합니다. 이런 식으로 뭔가가 :

public String[] getItems(String url) throws Exception 
{ 
    URL rss = new URL(url); 
    Feed feed = FeedParser.parse(rss); 
    int items = feed.getItemCount(); 
    // We know how many elements we need, so create the array 
    String[] titles = new String[items]; 

    for (int i = 0; i < items; i++) 
    { 
     titles[i] = feed.getItem(i).getTitle(); 
    } 

    return titles;  
} 

잠재적으로 더 좋은 대안하지만, 대신 문자열 배열의 List<String>를 반환하는 것입니다. 나는 FeedParser API를 모르지만, 당신이 항목을 반복 할 수있는 경우 대신 당신은 같은 것을 할 수있는 :

public List<String> getItems(String url) throws Exception 
{ 
    URL rss = new URL(url); 
    Feed feed = FeedParser.parse(rss); 
    List<String> titles = new ArrayList<String>(); 
    for (Item item : feed) 
    { 
     titles.add(item.getTitle()); 
    }  
    return titles;  
} 

이것은 당신이 시작하는 얼마나 많은 항목을 알 수없는 경우에도 작동합니다. Java가 결국 간결한 클로저를 얻게되면 LINQ를 사용하여 C#에서와 마찬가지로 훨씬 간단하게 표현할 수 있습니다.

+0

Jon에게 도움을 주셔서 감사합니다. – streetparade