4
การจัดการข้อยกเว้นด้วยสตรีม
ฉันมีMap<String,List<String>>และต้องการที่จะกลายเป็นMap<String,List<Long>>เพราะแต่ละคนStringในรายการแสดงถึง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())) ); ปัญหาหลักของฉันคือแต่ละคนStringอาจไม่ได้แสดงอย่างถูกต้อง a Long; อาจมีปัญหาบางอย่าง Long::valueOfอาจเพิ่มข้อยกเว้น หากเป็นกรณีนี้ฉันต้องการคืนค่าว่างหรือไม่Map<String,List<Long>> เพราะฉันต้องการทำซ้ำหลังจากผ่านoutputแผนที่นี้ แต่ฉันไม่สามารถยอมรับการแปลงผิดพลาดได้ ไม่แม้แต่คนเดียว มีความคิดเกี่ยวกับวิธีที่ฉันสามารถคืนเอาต์พุตว่างในกรณีที่ String ไม่ถูกต้อง -> การแปลงยาว?