【发布时间】:2017-09-13 05:30:03
【问题描述】:
我想初始化一个数组,其类型由用户通过命令行指定。也就是说,如果用户输入“int”,我想这样做:
ArrayList<Integer> res = new ArrayList<Integer>();
同样,如果用户输入“字符串”,我想这样做:
ArrayList<String> res = new ArrayList<String>();
现在我当然可以通过一堆 if-else 语句来做到这一点,但是我想知道是否有一个聪明的方法来做到这一点。假设用户输入的类型始终是原始类型,即 int、string、boolean 等。
【问题讨论】:
-
你打算用
res做什么? (在伪代码中。) -
这只是数组的随机名称。我将填充一堆随机元素。
-
我在问你打算对结果数组列表做什么。
-
我找到了 2 个可能感兴趣的帖子 - stackoverflow.com/questions/180097/… 和 stackoverflow.com/questions/5032898/…。他们都讨论了如何将原始类型动态转换为对应的 Class 对象。
-
可能有一种巧妙的方法来做你想做的事,但它可能不涉及泛型。如果不详细说明您希望程序对列表做什么,真的很难说。
标签: java command-line constructor