我正在尝试使用超级构造函数和三元运算符将以下代码转换为一行代码。尝试了多种方法,但没有任何效果。if (c == 0) { super(Piece.JMAN, x, y, Color.red);} else if (c == 1) { super(Piece.JMAN, x, y, Color.green);} else { super(Piece.JMAN, x, y, Color.yellow);}
1 回答

慕侠2389804
TA贡献1719条经验 获得超6个赞
正如@jacobg 在评论中所写,您可以这样做
super(Piece.JMAN, x, y, c == 0 ? Color.red : c == 1 ? Color.green : Color.yellow)
出于可读性的目的,您可能希望将其拆分为两个带有括号的语句。
Color color = (c == 0 ? Color.red : (c == 1 ? Color.green : Color.yellow)); super(Piece.JMAN, x, y, color);
添加回答
举报
0/150
提交
取消