private boolean checkCrashSelf(Point point, boolean ignoreTail){
return ignoreTail ?
snakeBodyPoints.subList(0, snakeBodyPoints.size()-1).contains(point) : snakeBodyPoints.contains(point);
}
问号在这里的作用是什么呀?
private boolean checkCrashSelf(Point point, boolean ignoreTail){
return ignoreTail ?
snakeBodyPoints.subList(0, snakeBodyPoints.size()-1).contains(point) : snakeBodyPoints.contains(point);
}
问号在这里的作用是什么呀?
回答不易,求求您采纳点赞哦
这个问号是三目运算符的一部分。三目运算符是一种简写形式的条件运算符,其语法形式为 condition ? value1 : value2,它会根据 condition 的真假值来返回 value1 或 value2。
在这个代码片段中,三目运算符根据 ignoreTail 变量是否为 true 来返回不同的值。如果 ignoreTail 为 true,则返回 snakeBodyPoints.subList(0, snakeBodyPoints.size()-1).contains(point) 的值,否则返回 snakeBodyPoints.contains(point) 的值。
这样的话,这个函数会根据ignoreTail的值来返回不同的结果,而不用使用if语句,更简洁易懂。