2012-06-05 70 views
-5

给定一个像“苹果”这样的文本字符串,我想获得一个数字。所以每次我用苹果做这个,我都会得到相同的数字。这怎么能在java中完成?如何将字符串映射到java中的数字?

谢谢。

编辑:好吧,我想我没有解释得很清楚。我的意思是一个现有的Java函数,像这样实现一个映射。这样的功能的一个例子是: A-> 1,B-> 2,C-> 3,...

apple -> 11616125 
+2

然后使用'Map' ... –

+2

你的意思是'hashCode'? –

+0

你还会喜欢薯条吗?它会是12.75美元,谢谢你。 –

回答

0

答案是使用String的hashCode方法。

3

这是地图是供。

Map<String, Integer> lookup = new HashMap<String, Integer>(); 
lookup.put("apple", 1); 
lookup.get("apple"); // returns 1 
2
Map<String, Ingereg> map = new HashMap<String, Ingereg>(); 
map.put("apple", 10); 
map.get("apple"); 
1

如果你希望字符串映射到特定号码,然后创建一个Map<String, Integer>与您的映射填充它,然后当你需要映射一个字符串中使用它。例如:

Map<String, Integer> map = new HashMap<String, Integer>(); 
    map.put("Apple", 0); // A nice round apple 
    map.put("Banana", 7); // A nice bent banana 
    ... 
    System.out.println("The apple is " + map.get("apple")); 

如果你只是想将一个字符串每次映射到相同数量的...没有指定的数量......然后调用字符串对象hashcode()。这是保证在任何给定的HotSpot Java平台上返回相同的数字,因为使用的算法是指定的和确定的。