所以例如,我有一个字符串数组,在一个数组位置,我有从Coronel.getRep()得到的字符串,我想知道是否有任何方法要弄清楚它来自哪个类从,如果我可以从String中找出它是什么类,因为我有一个包含来自游戏Stratego的所有部分的包,我用getRep()函数中的字符串填充游戏板,但是我该怎么做知道哪个部分在某个位置的电路板上,因为只有字符串我无法访问该部分的等级或者无论如何都要这样做?
例如getRespectiveClass(“C”),它将返回Coronel类。
public class Coronel {
private String nome;
private int total_pieces;
private int rank;
private String rep;
public Coronel() {
this.nome = "Coronel";
this.total_pieces = 2;
this.rank = 8;
this.rep = "C";
}
public String getRep() {
return this.rep;
}
public int getTotalPieces() {
return this.total_pieces;
}
public String toString() {
String a = this.rank + " / " + this.nome + " / " + this.total_pieces;
return a;
}
}
答案 0 :(得分:0)
这个问题的直接答案是否定的。 Coronel& String(rep)正在共享Aggregation
关系,因此您实际上无法从其中一个属性中检索容器类信息。
满足您要求的最佳解决方案不是存储Rep的Array of Strings
,而是使用Coronel的Array of Object
。您可以覆盖toString()
方法以返回Rep
属性。所以你对阵列的重新定位并没有改变,而是内部的。当你有权访问Coronel对象时,你可以检索你想要的任何属性,如rank,nome等。