繁体   English   中英

Java。 字符串中的if语句作为函数参数

[英]Java. if statement inside String as function argument

有没有一种方法可以在传递给函数的参数的Java String中包含简单的if语句,如以下示例

int TotalFiles = 3;
JOptionPane.showMessageDialog(frame, 
                     "Created " + TotalFiles + " file" + (if(TotalFiles>1){"s"}) + ".");

您可以使用三元(或条件)运算符

"Created " + TotalFiles + " file" + (TotalFiles > 1 ? "s" : "") + "."

totalFiles :Java中的非常数变量以小写字母开头,因此为totalFiles

尝试: (totalFiles>0 ? "s" : "sometThingElse")

使用三元运算符。

JOptionPane
    .showMessageDialog(
        frame, 
        "Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s": "") + "."
);

我还建议:

  • camelBack命名您的变量,而不是CamelCase
  • 了解String格式,以便于阅读/维护格式

是的,使用三元运算符。

JOptionPane.showMessageDialog(frame, "Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s" : "") + ".");

三元取一个(TotalFiles > 0)类的表达式,进行比较,如果为true,则返回?之后的值? ,否则返回以下值:

这等效于设计一个私有方法,该方法根据表达式返回一个字符串:

private String isMultipleFiles( int totalFiles )
{
    if( totalFiles > 0 )
        return "s";
    else
        return "";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM