假设我们有一个名为 L
的数组和输入字符串 in
.
如果in
有这样的形式 [0,1,2,3]
, L 应该是 int[]
包含数字 0、1、2 和 3,但如果 in
是这样的<0,1,2>
,然后L
应该是String[]
包含字符串“0”、“1”和“2”。
这可以用Java实现吗?或者有没有一种方法可以定义一个数组,它接受您放入其中的任何类型,然后表现得像该类型的数组?
我思考过为什么我需要这个并得出结论,我可以解决它。它需要在实际代码中进行一些手动编写,这意味着它永远不会成为可编译的程序,但除非找到解决方案,否则我只会使用这个肮脏的解决方案。谢谢您的回答!
编辑:这个问题似乎不可能用自然的Java按照我想要的方式解决。我将使用如上所述的脏溶液。无论如何,再次谢谢你。而且那个奇怪的编辑是我,我没有意识到我没有登录。
最佳答案
正如 Joe C 所建议的,您可以将其存储为 Object[]。
当你需要使用它时,你可以使用如下代码将整个 Object[] 转换为 int[] 或 String[]:
Integer[] integerArray = Arrays.copyOf(a, a.length, Integer[].class);
int[] intArray = Arrays.stream(integerArray).mapToInt(Integer::intValue).toArray();
或
String[] stringArray = Arrays.copyOf(a, a.length, String[].class);
关于java - 根据输入字符串决定 var 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48488988/