我想知道是否可以通过赋值(?)表达式将数字赋给java中的字符串?
让我们说:
String strA = "Hello";
String strB = "Hi";
我们能否以某种方式将1与strA关联,将2与strB关联,以便稍后通过算术运算将字符串相互转换?
编辑:此问题不是建议链接的重复,因为我的字符串中没有数字,并且我想保留该字符串以备后用,所以我没有在寻找某种类型转换方法。
答案 0 :(得分:5)
基本上,您需要一个映射功能。
最简单的方法是使用List<String> mappedStrings = Arrays.asList("Hello", "Hi");
现在您可以例如通过mappedStrings.get(0)
进入“ Hello”(在使用索引1的情况下,您进入“ Hi”)。
换句话说:使用列表,您将使用该列表中元素的顺序获得隐式映射。
如果您需要更通用的内容(也许当数字不连续时),自然的选择是使用Map<Integer, String>
而不是简单的列表:
Map<Integer, String> stringsById = new HashMap<>();
stringsById.put(1, "Hello");
stringsById.put(2, "Hi");
stringsById.put(42, "Hallo");
从那里开始:您甚至可能需要一些双向映射,或者有些不同,例如Map<Integer, List<String>>
。含义:如果想法是不同的字符串表示“相同”信息,则您可能希望以某种方式将它们与相同 id关联。
答案 1 :(得分:0)
要扩展另一个答案的地图方法:
要将值分配给String,您要使用某种Map
。
HashMap <String, Int> map = new HashMap();
map.put("Hello", 1);
map.put("Hi", 2);