帮我把下边这块代码转成Java代码: private function query_arrtoxml($arr,$withRoot=true){ $xml =$withRoot?'<?xml version="1.0" encoding="utf-16" ?>':''; foreach ($arr as $key=>$val){ if(is_array($val)){ $xml.="<".$key.">".$this->query_arrtoxml($val,false)."</".$key.">"; }else{ $xml.="<".$key.">".$val."</".$key.">"; } } if($withRoot){ $xml.=""; } return $xml; }
时间: 2024-03-09 14:44:11 浏览: 70
php代码-php快速排序 - mt_rand() floor(count($arr)/2) array_merge()
以下是Java代码:
```
private String query_arrtoxml(Map<String, Object> arr, boolean withRoot) {
String xml = withRoot ? "<?xml version=\"1.0\" encoding=\"utf-16\" ?>" : "";
for (String key : arr.keySet()) {
Object val = arr.get(key);
if (val instanceof Map) {
xml += "<" + key + ">" + query_arrtoxml((Map<String, Object>) val, false) + "</" + key + ">";
} else {
xml += "<" + key + ">" + val + "</" + key + ">";
}
}
if (withRoot) {
xml += "";
}
return xml;
}
```
需要注意的是,Java中的Map对象需要用泛型来指定键值对的类型,所以我们将$arr改为了Map<String, Object>。此外,Java中的if语句需要用boolean类型来判断条件,所以我们将$is_withhead改为了withRoot,并将其类型改为了boolean。最后,Java中的字符串拼接需要使用+运算符,而不能像PHP中直接使用.运算符。
阅读全文