Hello -6ren">
gpt4 book ai didi

java - 如何创建一个接受可变数量参数的 Java 方法?

转载 作者:IT老高 更新时间:2023-10-28 13:51:51 25 4
gpt4 key购买 nike

例如,Java 自己的 String.format() 支持可变数量的参数。

String.format("Hello %s! ABC %d!", "World", 123);
//=> Hello World! ABC 123!

如何制作自己的函数来接受可变数量的参数?


后续问题:

我真的想为此创建一个方便的快捷方式:

System.out.println( String.format("...", a, b, c) );

这样我就可以把它称为不那么冗长的东西:

print("...", a, b, c);

我怎样才能做到这一点?

最佳答案

你可以写一个方便的方法:

public PrintStream print(String format, Object... arguments) {
return System.out.format(format, arguments);
}

但正如您所见,您只是重命名了 format(或 printf)。

你可以这样使用它:

private void printScores(Player... players) {
for (int i = 0; i < players.length; ++i) {
Player player = players[i];
String name = player.getName();
int score = player.getScore();
// Print name and score followed by a newline
System.out.format("%s: %d%n", name, score);
}
}

// Print a single player, 3 players, and all players
printScores(player1);
System.out.println();
printScores(player2, player3, player4);
System.out.println();
printScores(playersArray);

// Output
Abe: 11

Bob: 22
Cal: 33
Dan: 44

Abe: 11
Bob: 22
Cal: 33
Dan: 44

请注意,还有类似的 System.out.printf 方法,其行为方式相同,但如果您查看实现,printf 只是调用 format,所以你不妨直接使用format

关于java - 如何创建一个接受可变数量参数的 Java 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com