有没有办法在作为参数传递给函数的Java String中包含一个简单的if语句,如下例
int TotalFiles = 3;
JOptionPane.showMessageDialog(frame,
"Created " + TotalFiles + " file" + (if(TotalFiles>1){"s"}) + ".");
答案 0 :(得分:6)
您可以使用a ternary (or conditional) operator:
"Created " + TotalFiles + " file" + (TotalFiles > 1 ? "s" : "") + "."
旁注:Java中的非常量变量以小写开头,因此totalFiles
。
答案 1 :(得分:1)
尝试:(totalFiles>0 ? "s" : "sometThingElse")
答案 2 :(得分:1)
使用三元运算符。
JOptionPane
.showMessageDialog(
frame,
"Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s": "") + "."
);
我还建议:
camelBack
中为您的变量命名,而不是CamelCase
String
格式,以便于阅读/维护格式答案 3 :(得分:1)
是的,使用三元运算符。
JOptionPane.showMessageDialog(frame, "Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s" : "") + ".");
Ternary采用(TotalFiles > 0)
之类的表达式,比较它,如果是真,则返回?
之后的值,否则返回:
之后的值
这相当于设计一个基于表达式返回字符串的私有方法:
private String isMultipleFiles( int totalFiles )
{
if( totalFiles > 0 )
return "s";
else
return "";
}