Tôi có một Map<String,List<String>>
và muốn nó biến thành Map<String,List<Long>>
vì mỗi String
trong danh sách đại diện cho một Long
:
Map<String,List<String>> input = ...;
Map<String,List<Long>> output=
input.entrySet()
.stream()
.collect(toMap(Entry::getKey, e -> e.getValue().stream()
.map(Long::valueOf)
.collect(toList()))
);
Vấn đề chính của tôi là mỗi String
có thể không đại diện chính xác a Long
; có thể có một số vấn đề. Long::valueOf
có thể đưa ra ngoại lệ. Nếu đây là trường hợp, tôi muốn trả về null hoặc rỗngMap<String,List<Long>>
Bởi vì tôi muốn lặp đi lặp lại sau output
bản đồ này . Nhưng tôi không thể chấp nhận bất kỳ chuyển đổi lỗi nào; thậm chí không một ai Bất kỳ ý tưởng nào về cách tôi có thể trả về một đầu ra trống trong trường hợp Chuỗi không chính xác -> Chuyển đổi dài?
LongStream
nếu bạn dự định xóa empty
kết quả)