给定一个像“apple”这样的文本字符串,我想获得一个数字。所以每次我用苹果这样做时,我都会得到相同的数字。这怎么能在java中完成?
谢谢你。
编辑:好吧,我想我没有很好地解释自己。我的意思是一个现有的 Java 函数,它实现了这样的映射。像这样的函数的一个例子是:a->1, b->2, c->3,...
apple -> 11616125
这就是地图的用途。
Map<String, Integer> lookup = new HashMap<String, Integer>();
lookup.put("apple", 1);
lookup.get("apple"); // returns 1
Map<String, Ingereg> map = new HashMap<String, Ingereg>();
map.put("apple", 10);
map.get("apple");
如果您希望字符串映射到特定数字,则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 平台上返回相同的数字,因为使用的算法是指定和确定的。
答案是使用 String 的 hashCode 方法。