gpt4 book ai didi

java - 如何在 Java 中实现接受不同类型数组作为参数的类构造函数

转载 作者:行者123 更新时间:2023-11-29 06:47:58 25 4
gpt4 key购买 nike

我有以下类(class):

private class Info{
public String A;
public int B;

Info(){};

public OtherMethod(){};
private PrivMethod(){};
}

我想创建一个此类的数组,但我想提供一个二维数组作为构造函数的参数,即:

Info[] I = new Info({{"StringA", 1}, {"StringB", 2}, {"StringC", 3}});

这可能吗?如果是这样,我将如何实现它?如果不是,您会推荐哪些替代方案?

最佳答案

有可能,但不使用您建议的语法。 Java 不支持使用构造函数创建数组。尝试以下操作:

public class Info {

public String a;
public int b;

private Info(Object [] args) {
a = (String) args[0];
b = (Integer) args[1];
}

public static Info[] create(Object[]...args) {
Info[] result = new Info[args.length];
int count = 0;
for (Object[] arg : args) {
result[count++] = new Info(arg);
}
return result;
}

public static void main(String [] args) {
Info[] data = Info.create(new Object[][] {{"StringA", 1}, {"StringB", 2}, {"StringC", 3}});
}

}

关于java - 如何在 Java 中实现接受不同类型数组作为参数的类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1293768/

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