Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串转换为64位整数?_Java_Seed - Fatal编程技术网

Java 如何将字符串转换为64位整数?

Java 如何将字符串转换为64位整数?,java,seed,Java,Seed,我正在制作一个应用程序,其中包含一个种子来生成一个世界,一些游戏允许您为该种子提供文本。我想知道如何将字符串“转换”为整数 一种简单的方法是使用所有字符的ASCII值并将它们附加到字符串中,然后将其解析为整数,但这严重限制了字符串的大小。如何使用更大的字符串执行此操作 编辑:64位不是32位,我只调用String.hashcode()。标准的String.hashcode()函数使用目标字符串中的所有字符,并提供良好的分散性 我唯一想问的是32位种子是否足够。这可能意味着您的世界生成器最多可以生

我正在制作一个应用程序,其中包含一个种子来生成一个世界,一些游戏允许您为该种子提供文本。我想知道如何将字符串“转换”为整数

一种简单的方法是使用所有字符的ASCII值并将它们附加到字符串中,然后将其解析为整数,但这严重限制了字符串的大小。如何使用更大的字符串执行此操作


编辑:64位不是32位,我只调用
String.hashcode()
。标准的
String.hashcode()
函数使用目标字符串中的所有字符,并提供良好的分散性


我唯一想问的是32位种子是否足够。这可能意味着您的世界生成器最多可以生成232个不同的世界。
Random
的随机种子至少可以是48位,最好是64位。您可以像这样编写自己的哈希代码

public static long hashFor(String s) {
   long h = 0;
   for(int i = 0; i < s.length(); i++)
       h = h * 10191 + s.charAt(i);
   return h;
}
公共静态长hashFor(字符串s){
长h=0;
对于(int i=0;i
将字符串转换为整数的标准方法是使用Integer.parseInt(字符串);
你把字符串传给这个,它会把字符串转换成int。试试看,让我知道

我建议对字符串的字节进行加密散列。不知道我为什么写32位,我的意思是64:PSo如果执行
Integer.parseInt(“abcdefgh13uhfds”)
,会发生什么?