我制作了这段代码,目的是创建一个ArrayList
填充如下的字符串:-在一个循环中,我取一个ArrayList<String>
,将其转换为一个长字符串,然后对它进行哈希处理。-我采用归因于数组的版本的哈希值并对其进行哈希处理。然后我使用字符串生成器连接两个哈希并将它们添加到我的 ArrayList 中。
但是,当我尝试通过打印其中一个结果进行测试时,出现此错误:
Exception in thread "main" java.lang.NullPointerException
at package_name.Keys.keys(Keys.java:29) // this lign means value.append(hashsplit);
我不明白代码中有什么问题。任何人都可以有一些建议吗?谢谢
这是代码:
package package_name;
import java.util.ArrayList;
import java.util.List;
public class Keys {
public static ArrayList<String> keyStringArray = new ArrayList<String>();
public static List<String> keys(){
long x = MainClass.NUM_OF_SPLITS;
for ( int i = 0; i < x+1 ; i++ ){
ArrayList<String> a = MainClass.splits.get(i).blocks;
String listString = "";
for (String s : a)
{
listString += s + "\t";
}
int ver = MainClass.version[i]; //then we should get the version of the split
String verr = String.valueOf( ver );
// hash the results.
String hashsplit =OtherKeys.String2(listString);
String hashversion = OtherKeys.String2(verr);
StringBuilder value = null;
value.append(hashsplit);
value.append(hashversion);
String key= value.toString();
keyStringArray.add(i, key);
}
return keyStringArray ; }}