我试图在我的应用程序上执行一些基本逻辑,检查实体位置以调用进入/退出方法但是我得到了一些奇怪的结果:
Contains false - Compare true
以下方法打印结果
@Override
public void checkLocation(Player player) {
System.out.println("Contains " + contains(player) + " - Compare ${inLocation(player.position)}");
}
包含布尔值:
@Override
public boolean contains(Player player) {
return inLocation(player.position);
}
我不明白包含(播放器)如何返回false,而inLocation(player.position)返回true?真的很重视我对事情如何运作的理解。
代码是groovy。 ${var}
只是常规的连接方式。
答案 0 :(得分:0)
根据代码的上下文,可能会在此代码所在的类/控制器/服务上调用groovy的contains方法,而不是调用已定义的contains方法。也许是暗中调用
this.contains(player)
尝试将方法名称更改为“hasPlayer()”或在contains方法中添加println以确保调用代码。