자바 코드

송용준·2024년 9월 24일
String searchText = sGdCd;
						Optional result = currentStockSerNoList.stream().filter(x -> x.get("GD_CD").equals(searchText)).findFirst();
						
						//현재고(Serial No) 리스트에 해당 품목이 없는경우
				        if (result.isPresent() == false) {
							String[] args=new String[1];
			    			args[0] = "[GD_CD Not Found]"; 
			    			throw new BizException(-901, "err.sy.curstok.dtl.param.error", args);//현재고 파라메타 정보가 유효하지 않습니다.{0}				        	
				        }

품목 가져와서 확인하고 없으면 예외 터트리는 코드인데 학원에서는 이전 문법으로 배웠는데 실무코드에서 한줄로 쓰는 문법이 있길래 감동먹어서 가져옴.

  • 이전 문법
List<Map<String, String>> list = ...; // 초기화된 리스트
String searchText = ...; // 검색할 텍스트
List<Map<String, String>> filteredList = new ArrayList<>();

for (Map<String, String> x : list) {
    if (x.get("GD_CD").equals(searchText)) {
        filteredList.add(x);
    }
}
  • JAVA 8 이상 최신문법
Optional result = currentStockSerNoList.stream().filter(x -> x.get("GD_CD").equals(searchText)).findFirst();

리스트에 일치하는 값이 있는지 확인한다.

쌈빡하군..

  • Optional
    추가적으로 Optional이란것도 처음봤는데 이건 있을수도 있고 없을수도 있는 데이터 처리할때 쓰는 타입으로 null값 처리에 용이하고 가독성이 좋아진다.
    메서드변환에는 권장되지만 필드로 사용하지 말라는데 필드로 사용하면 관리가 복잡해져서 그렇다고 한다.
    확인용으로 쓸것도 아니면서 굳이 필드로 쓰지 말라는거지
profile
용용

0개의 댓글