Java - 如何使 ArrayList 访问不同的类方法?
Posted
技术标签:
【中文标题】Java - 如何使 ArrayList 访问不同的类方法?【英文标题】:Java - How to make an ArrayList access a different class method? 【发布时间】:2021-12-03 05:31:14 【问题描述】:我是 Java 的初学者,我有点挣扎。我有 3 个类,我希望一个类的 ArrayList 访问另一个类的方法。我该怎么做?
这是我要从中检索方法的方法:
private void markAsUpdated()
this.needsUpdate = true;
这是数组列表:
public int getNumberOfUpdatedSites()
for (int i = 0; i < webSite.size(); i++)
if (webSite.get(i))
两个代码都属于两个不同的类。 我被困在迭代部分。 基本上它需要返回所有已经更新的站点。如果需要,我有一个 UML 图,我可以提供。提前致谢。
【问题讨论】:
webSite
的类型是什么?鉴于您如何使用其中的值作为if
语句中的条件,我猜它一定是List<Boolean>
? markAsUpdated()
是方法而不是类,你想做什么?
其实是 ArrayListpublic
而不是private
,本质上你所做的是标记所有元素,所以if
语句不在这里很有意义。
【参考方案1】:
假设Website
类如下:
public class Website
private boolean needsUpdate;
public boolean isNeedsUpdate()
return needsUpdate;
public void markAsUpdated()
this.needsUpdate = false;
然后在你的其他类中,你只需要调用公共的isNeedsUpdate
方法来检查它是否需要更新。这意味着在您的其他课程中,您可以执行以下操作:
public int getNumberOfUpdatedSites()
int updatedWebsitesCount = 0;
for (int i = 0; i < webSite.size(); i++)
if (!webSite.get(i).isNeedsUpdate())
updatedWebsitesCount++;
return updatedWebsitesCount;
【讨论】:
以上是关于Java - 如何使 ArrayList 访问不同的类方法?的主要内容,如果未能解决你的问题,请参考以下文章
如何使我的 ArrayList 线程安全? Java中解决问题的另一种方法?
ArrayList 包含同一个超类的不同对象 - 如何访问子类的方法