可以使用 Lambda 表达式将字符串转换成 Map,并使用 Optional 类来避免空指针异常。以下是一个示例代码:

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

public class Main {
    public static void main(String[] args) {
        String input = '100001|30,100002|45';
        Map<String, Integer> map = new HashMap<>();

        // 使用 Lambda 表达式将字符串转换成 Map
        input.split(',').forEach(str -> {
            String[] keyValue = str.split('\|');
            map.put(keyValue[0], Integer.parseInt(keyValue[1]));
        });

        // 取出 100005 对应的值,并转成 int,如果不存在则返回 0
        int value = Optional.ofNullable(map.get('100005')).orElse(0);
        System.out.println('Value: ' + value);
    }
}

在上面的代码中,首先使用 split 方法将字符串分割成键值对,然后使用 forEach 方法遍历每个键值对,将其放入 Map 中。接着使用 Optional.ofNullable 方法来获取 100005 对应的值,如果值存在则返回该值,否则返回 0。最后将获取到的值转换成 int 类型并输出。


原文地址: https://www.cveoy.top/t/topic/pkLL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录