gpt4 book ai didi

java - 在运行时传递可选的未知参数

转载 作者:行者123 更新时间:2023-11-30 06:28:03 25 4
gpt4 key购买 nike

假设我有一个需要 2 个参数的方法

public Class Test{
public void Foo(int x, SOMETHING HERE(Optional and unknown at runtime)){

}
}

在我的主要

public Class Main{
public static void main(String[]args){
Test test = new Test();
String s1 = "Hello";
float f1 = 5.5f;

test.Foo(10);
test.Foo(10, s1);
test.Foo(10, f1);
test.Foo(10, s1, f1);
test.Foo(10, f1, s1);
}
}

如何在不创建多个方法的情况下实现我想要的目标?

最佳答案

当第一个 int 参数之后的参数数量未定义并且它们可能具有不同的类型时,您可以使用 varargs方法签名

public Class Test{
public void Foo(int x, Object... args) {

}
}

这种方法的唯一问题是您需要在 Foo 方法中仔细处理参数

例如。要迭代参数,您可以使用循环并检查类型实例:

for (Object item : args) {
if (item instanceof String) {
// do stuff
}
}

另一种方法是获取参数长度并一一获取它们的特定值:

final int maxArgs = args.length;
if (maxArgs > 0) {
final Object arg0 = args[0];
if (arg0 instanceof String) {
final String strArg0 = (String) arg0;
//do stuff
}
}

基本上这取决于你的需求

关于java - 在运行时传递可选的未知参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46697054/

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