【发布时间】:2020-04-13 03:25:30
【问题描述】:
我想在 java 中获取给定 ArrayList 的名称。
例如:
Arraylist<Arraylist> listOfArrays
Arraylist<String> stringListOne (lets say this has 3 elements)
Arraylist<String> stringListTwo (this one too)
listOfArrays.add(stringlistOne);
listOfArrays.add(stringlistTwo);
如果我想执行以下操作,String listName = listOfArrays.get(1)... 它只会给我List stringlistTwo。
但我需要列表的名称本身,"stringlistTwo",虽然我没有找到任何方法。
有可能吗?
或者我需要用ArrayLists 的名字创建一个List?
【问题讨论】:
-
在 java 中没有办法做到这一点。您可以拥有任意数量的变量来指向内存中的单个对象。它怎么知道给你哪个变量名?如果需要用列表存储关联数据,可以使用
Map<String, List<String>>或创建包装对象等。 -
你想用这个名字做什么?正如 azurefrog 告诉你的那样,这不可能如你所描述的那样。
-
你可以使用 Map 来映射 ArrayList
的名字 -
正如@azurefrog 所说,这是不可能的。不过,我很想知道您为什么要这样做。这很可能是XY Problem,在这种情况下,几乎可以肯定,无论您的最终目标是什么,都有一种更合理的方式来实现。
-
变量名是通常只有在开发和查看源代码时才会感兴趣的信息。在运行时,您实际上不需要知道任何这些信息。如果您确实认为您需要这些信息,那么这听起来确实像糟糕的设计和典型的XY Problem。
标签: java string list arraylist