是否可以在Java中将int赋给String?

时间:2018-10-08 12:44:15

标签: java

我想知道是否可以通过赋值(?)表达式将数字赋给java中的字符串?

让我们说:

String strA = "Hello"; 
String strB = "Hi";

我们能否以某种方式将1与strA关联,将2与strB关联,以便稍后通过算术运算将字符串相互转换?

编辑:此问题不是建议链接的重复,因为我的字符串中没有数字,并且我想保留该字符串以备后用,所以我没有在寻找某种类型转换方法。

2 个答案:

答案 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);