在这种情况下if(true)会做什么?我正在学习构建象棋引擎程序的教程。下面的代码行让我感到困惑,我不确定它到底能做什么。
public class Knight extends Piece { private final static int[] CANDIDATE_MOVE_COORDINATES = {-17, -15, -10 , -6, 6, 10, 15, 17};
Knight(final int piecePosition, final Alliance pieceAlliance)
{
super(piecePosition, pieceAlliance);
}
@Override
public List<Move> calculateLegalMoves(Board board)
{
int candidateDestinationCoordinate;
final List<Move> legalMoves = new ArrayList<>();
for (final int currentCandidate : CANDIDATE_MOVE_COORDINATES)
{
candidateDestinationCoordinate = this.piecePosition + currentCandidate;
if (true)
{
final Tile candidateDestinationTile = board.getTile(candidateDestinationCoordinate);
if (!candidateDestinationTile.isTileOccupied())
{
legalMoves.add(new Move());
}
else
{
final Piece pieceAtDestination = candidateDestinationTile.getPiece();
final Alliance pieceAlliance = pieceAtDestination.getPieceAlliance();
if (this.pieceAlliance != pieceAlliance)
{
legalMoves.add(new Move());
}
}
}
}
return ImmutableList.copyOf(legalMoves);
}
}
这段代码if(true)什么都不做-它始终是'true',所以里面的代码将始终被执行,就像if(true)那里的构造不存在一样
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。