我在android編程中有一個簡單的疑問。我不熟悉Java編碼,因此它可能是一個簡單的問題。在java中創建對象
在前兩行我檢索一個數組,我從另一個活動傳遞給此活動...然後我創建一個數組列表。我在第四行創建一個對象。現在問題來了... 我必須運行一個for循環來獲取url值,我必須將它傳遞給BaseFeedParser類。但我不能使用第四行,即在循環中創建對象,因爲它會每次創建一個新對象......這不應該發生......我該如何解決這個問題?
Intent myintent = getIntent();
String[] ActiveURL = myintent.getStringArrayExtra("URL");
List<String> titles = new ArrayList<String>();
BaseFeedParser parser = new BaseFeedParser(url);
// fetching all active URLs
for (int i = 0; i < ActiveURL.length + 1; i++) {
url = ActiveURL[i];
messages.addAll(parser.parse());
}
// now getting the titles out of the messages for display
for (Message msg : messages) {
titles.add(msg.getTitle());
}
在此先感謝...
如果您不想每次都創建basefeedParse對象,那麼您必須刪除BasefeedParser中的構造函數,然後可以將該URL傳遞給XMLParser類中的parser.parser(URL)方法,並且必須將其傳遞給BasefeedParser通過創建另一種方法來爲basefeedparser URL分配值。但這也可能導致錯誤。 –
有一個java約定,變量從小寫開始。所以將ActiveUrl改爲活動的Url。 Actualy我不明白你的代碼...我在互聯網上找到的BaseFeedParser是一個抽象類。爲什麼你不能創建新的對象? – gregory561
Java(我認爲Android也是)創建對象沒有任何主要問題。一個問題只會是如果創建一個BaseFeedParser是非常昂貴的,但我不明白爲什麼這應該是這種情況。 (雖然我不知道該API) –