gpt4 book ai didi

java - 如何从属于它的实例变量之一获取类的特定实例

转载 作者:行者123 更新时间:2023-11-29 03:16:45 25 4
gpt4 key购买 nike

假设我有这个类的多个实例:

public class Star {
public Star(ArrayList<Planet> planets, ArrayList<Comet> comets) {
pla = planets;
com = comets;
}
// Getters and setters go here

private ArrayList<Planet> pla;
private ArrayList<Comet> com;
}

我如何使用 Star 的实例?比如说,一个特定的 Planet属于?例如,请看这个伪代码:

aSpecificPlanet.getInstanceOfClassThisBelongsTo().doStuffWithIt();

我已经在 Planet 之一中尝试过这个的 setter/getter :

public Star getStar() {
return this.getClass();
}

但我收到此错误:incompatible types: Class<CAP#1> cannot be converted to Star

我该怎么做?

最佳答案

您得到的是 Class 实例,而不是 Star 实例。

您可以在 Planet 中添加一个类型为 Star 的字段,该字段将引用它所属的 Star。每当您将 Planet 添加到 Star 时,都可以设置此字段:

Star star = new Star(planets, comets);
for(Planet planet : planets) {
planet.setStar(star); // add this field
}

您可以将它放在实用程序方法中以避免重复代码并确保一致性:

public void addPlanet(Star star, Planet planet) {
if(star != null && planet != null) {
star.getPlanets().add(planet); // assuming the list is always not null
planet.setStar(star);
}
}

关于java - 如何从属于它的实例变量之一获取类的特定实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26108427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com