繁体   English   中英

有没有办法在Java中将多个arguments传递给function?

[英]Is there any way to pass multiple arguments to function in Java?

我有一个 function,目前只接受两个 arguments - 一个字符串和一个 arguments 的列表。

这个 function 继续,从语言文件中获取一个字符串。 在这个语言文件中,我想允许添加 arguments 的可能性,它会被填充。 示例: "{1} has thanked {2}" function 然后继续,并使用MessageFormat.format将 arguments 添加到消息中。

因为我已经习惯了支持以下语法的其他语言(即 SourcePawn):
print("%s has thanked %s", user1, user2)
它用 arguments 替换了%s标签,我想在 Java 中复制它。有什么办法吗?

期望的结果是使 function 像这样工作:
fillInArguments("Hello {1}, You have {2} unread messages.", user.getName(), user.getUnreadMsgs())

您可以像这样使用 String.format :

String.format("Hello %s! You have %d unread messages!", user.getName(), user.getUnreadMsgs());

“%”后面的符号取决于您要添加到字符串中的变量类型。 请参阅此处的表格https://www.javatpoint.com/java-string-format

但是,如果您直接拥有参数,我想您也可以像这样简单地使用连接:

"Hello " + user.getName() + "! You have " + user.getUnreadMsgs() + " unread messages!"

看起来您可能正在寻找 function 的可选参数。尝试在此处查看 Vitalii 的回答:Java 中的可选参数

暂无
暂无

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

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