java将类的属性/字段与(所有)其他类进行比较
假设我有一个类Character
的属性/字段,它叫做position
,基本上是两个坐标:
public class Character {
int[][] position;
public Character(int[][] position) {
this.position = position;
}
}
比方说,我希望角色能够互动,当且仅当他们的位置完全相同时,比如:
public void interact() {
for character in all_characters {
if (this.position = character.position) {
// Do something
}
}
}
如何从该类中获取所有实例化对象的数组,即上面的all_characters
# 1 楼答案
关于获得财产。 如果不是私人的,应该可以使用。 在java中,有一种做法是将属性设置为私有,并为它们实现公共getter方法。 让我给你举个例子
关于比较
我建议尝试使用
Arrays
类的deepEquals
静态方法。 http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#deepEquals(java.lang.Object[],%20java.lang.Object[])# 2 楼答案
这不是自动完成的。您必须跟踪实体,可能会使用接口对其进行装饰,以便能够跟踪此类内容,例如: