String bankNo = (String)acc_info.get("bank_no")
时间: 2024-04-23 18:22:32 浏览: 13
这段代码的作用是从一个名为 `acc_info` 的 Map 中获取键为 "bank_no" 的值,并将其转换为字符串类型赋值给 `bankNo` 变量。前提是 `acc_info` 这个 Map 中包含了键为 "bank_no" 的键值对,而且对应的值是一个字符串类型。如果 `acc_info` 不包含 "bank_no" 这个键,或者对应的值不是一个字符串类型,那么这段代码可能会抛出 NullPointerException 或者 ClassCastException 异常。
相关问题
String bankNo = (String)acc_info.get(0).get("bank_no")
这段代码有问题。假设 `acc_info` 是一个包含了多个 Map 的 ArrayList,每个 Map 都是一个银行账户的信息,那么这个代码想要获取第一个 Map 中键为 "bank_no" 的元素的值。但是,这个代码有两个问题:
1. `acc_info.get(0)` 返回的是第一个 Map,而不是一个 ArrayList,所以不能再调用 `get` 方法。
2. HashMap 的 `get` 方法需要传入一个键值,而不是一个整数索引值。
如果想要实现这个功能,可以修改代码如下:
```
ArrayList<HashMap<String, String>> acc_info = new ArrayList<>();
HashMap<String, String> map = new HashMap<>();
map.put("bank_no", "1234567890");
acc_info.add(map);
String bankNo = acc_info.get(0).get("bank_no");
```
这样就可以正确地获取第一个 Map 中键为 "bank_no" 的元素的值了。注意,如果 `acc_info` 中不包含任何元素,或者第一个 Map 中不包含 "bank_no" 这个键,那么这段代码可能会返回 null。
{pro_code='null', saveno='null', status='1', id_status='null', approve='null', preinve='null', jk_preinve='null', isinterview='null', finalinve='null', firstslot='null', asseinfo='23060108585862414660', member_id='null', corpno='null', userno='null', isold='null', card_level='null', card_logo='null', bankno='null',activate='null',first_bind_flag='null',settlement='null',checked ='null'} 工具类,不需要自己造轮子
可以使用阿里巴巴的 fastjson 库将 "{pro_code='null', saveno='null', status='1', id_status='null', approve='null', preinve='null', jk_preinve='null', isinterview='null', finalinve='null', firstslot='null', asseinfo='23060108585862414660', member_id='null', corpno='null', userno='null', isold='null', card_level='null', card_logo='null', bankno='null',activate='null',first_bind_flag='null',settlement='null',checked ='null'}" 转换为 JSON 格式的字符串。以下是示例代码:
```
import com.alibaba.fastjson.JSONObject;
public class JsonUtils {
public static String toJsonString(String input) {
// 去除大括号和单引号
input = input.replace("{", "").replace("}", "").replace("'", "");
// 按照逗号分割成 key-value 对
String[] keyValuePairs = input.split(",");
// 创建 JSON 对象
JSONObject jsonObject = new JSONObject();
// 遍历 key-value 对,添加到 JSON 对象中
for (String pair : keyValuePairs) {
String[] keyValue = pair.split("=");
jsonObject.put(keyValue[0].trim(), keyValue[1].trim());
}
// 返回 JSON 格式的字符串
return jsonObject.toJSONString();
}
}
```
使用示例:
```
String input = "{pro_code='null', saveno='null', status='1', id_status='null', approve='null', preinve='null', jk_preinve='null', isinterview='null', finalinve='null', firstslot='null', asseinfo='23060108585862414660', member_id='null', corpno='null', userno='null', isold='null', card_level='null', card_logo='null', bankno='null',activate='null',first_bind_flag='null',settlement='null',checked ='null'}";
String jsonString = JsonUtils.toJsonString(input);
System.out.println(jsonString);
```
输出结果:
```
{"pro_code":"null","saveno":"null","status":"1","id_status":"null","approve":"null","preinve":"null","jk_preinve":"null","isinterview":"null","finalinve":"null","firstslot":"null","asseinfo":"23060108585862414660","member_id":"null","corpno":"null","userno":"null","isold":"null","card_level":"null","card_logo":"null","bankno":"null","activate":"null","first_bind_flag":"null","settlement":"null","checked ":"null"}
```