Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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奇怪的问题更改字符串_Java - Fatal编程技术网

Java奇怪的问题更改字符串

Java奇怪的问题更改字符串,java,Java,我试着寻找这个,但我不确定什么时候该如何描述它 我有一种方法,可以将hashmap中的一些数据格式化到mySQL表中: private String valuesList() { String valuesList = ""; HashMap<String,String> data = getData(); for(Map.Entry<String, String> entry : data.entrySet()) { String

我试着寻找这个,但我不确定什么时候该如何描述它

我有一种方法,可以将hashmap中的一些数据格式化到mySQL表中:

private String valuesList() {
    String valuesList = "";
    HashMap<String,String> data = getData();
    for(Map.Entry<String, String> entry : data.entrySet()) {
        String value=entry.getValue();
        valuesList+="'"+value+"',";
    }
    valuesList = valuesList.substring(0, valuesList.length() - 1);
    return valuesList;
}
请注意结尾的“海外家庭佣工权利法案”。我认为通过改变来解决这个问题很容易

valuesList+="'"+entry.getValue()+"',";

但是该方法现在在该行抛出一个空指针异常。事实上,对该字符串的任何类型的更改,例如
.trim()
都会执行相同的操作,抛出一个
null


我现在完全被难住了

你可以像这样从价值中避开引号

value = value.replaceAll("'","''");

这是getData()方法的错误。它返回空值数据您需要处理
entry.getValue()
返回
null
的情况<代码>“+null生成一个字符串,该字符串字面上包含
“null”
,但这是语言本身处理的特殊情况。只需尝试此
valuesList+=”+(entry.getValue()==null)?“null”:entry.getValue().replace(“,”)+“,”字符串s=entry.getValue();如果(s==null){System.out.println(“不转义”);}
valuesList+="'"+entry.getValue().replace("'","")+"',";
value = value.replaceAll("'","''");