java - 根据输入字符串决定 var 类型

标签 java arrays types

假设我们有一个名为 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/

相关文章:

java程序无法识别从属类 "package input does not exist"

javascript - 如何在 jQuery 数组中找到 indexOf 元素?

php - 从 Laravel session 数组中删除项目

c++ - 有没有办法使用strcpy将一个字符串数组复制到另一个字符串或另一个数组中?

types - 在Polymer Dart中使用带$的强类型不起作用

types - 这种模式似乎很详尽,但我仍然收到警告

java - Facelets 作为 JSP 中的模板框架

java - 使用 Apache 的 HTTP 客户端时,将 HTTP 响应作为字符串获取的推荐方法是什么?

java - 将 JComboBox 中的项目替换为数组

c++ <vector> 没有命名类型