在三目运算符语句中,如何使用正确的语法来包含多个语句?
str.length() == 1 ? (str = str.replace(0, str.length(), "00") && flag = false) : str = str.deleteCharAt(str.length() - 1);
当我的 StringBuilder str
的长度为1时,我需要执行一些语句:
- 将 str 替换为 "00"
- 取消标志
非常感谢您的帮助。
在三目运算符语句中,如何使用正确的语法来包含多个语句?
str.length() == 1 ? (str = str.replace(0, str.length(), "00") && flag = false) : str = str.deleteCharAt(str.length() - 1);
当我的 StringBuilder str
的长度为1时,我需要执行一些语句:
非常感谢您的帮助。
如果你非常必须使用一个三元运算符,那么可以这样实现:
flag = str.length() == 1 ?
str.replace(0, str.length(), "00") == null :
str.deleteCharAt(str.length() - 1) != null && flag;
祝你通过代码审查好运。正如其他人所建议的那样,在这里使用if语句是有意义的:
if (str.length() == 1) {
flag = false;
str.replace(0, str.length(), "00");
} else {
str.deleteCharAt(str.length() - 1);
}
str
是一个StringBuilder
,请删除str =
部分。 - Andreas