在codewars中,我已经用15行代码完成了使用for循环的kata,其他人只用7行完成了代码。有人可以解释代码吗?请告诉我代码是如何工作的
public class CamelCase {
public static String cAmEl(final String yourName) {
final int length = yourName.length();
final StringBuilder cAmEl = new StringBuilder(length);
boolean upper = true;
for (int i = 0; i < length; i++, upper ^= true) {
final char c = yourName.charAt(i);
cAmEl.append(upper ? toUpperCase(c) : toLowerCase(c));
}
return cAmEl.toString();
}
}
该代码将字符串的每个备用字符都转换为大写(以大写字符开头)。例如:test
变成TeSt
。
我无法理解这部分
cAmEl.append(upper ? toUpperCase(c) : toLowerCase(c));
它的一个if-else,如果上面那么toUpperCase()else toLowerCase() – Sajal
[Ternary Operator-JAVA]可能的重复(http://stackoverflow.com/questions/25163713/ternary-operator-java) –
可能的[Ternary Operators Java]的副本(http://stackoverflow.com/questions/21219695/ternary-operators-java) – byako