我在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) –