[ 목적 ]
댓글 리스트의 댓글 번호만 추출하여 in쿼리로 특정 댓글을 조회하고 싶다.
[ 할 일 ]
- 리스트에서 댓글 번호를 가져온 후 하나의 문자열로 만들기.
[ 작업결과 ]
방법 1 - for 문을 이용한 문자 조합
for (ReplyModel reply : replyList) {
replyNoStr = replyNoStr + "," + reply.getReplyNo();
}
또는
StringBuilder replyNoStrBuilder = new StringBuilder();
for (ReplyModel reply : replyList) {
replyNoStrBuilder.append(",").append(reply.getReplyNo());
}
방법 2 - stream을 이용한다
단, 아래와 같이 코딩하는 경우 에러가 발생한다.
String replyNoStr =
replyList.stream()
.map(ReplyModel::getReplyNo)
.collect(Collectors.joining(","));
replyNo는 숫자형인데, collectors는 문자열에 적용할 수 있기 떄문이다.
그래서 아래와 같이 적용하여 해결하였다.
String replyNoStr =
replyList.stream()
.map(reply -> String.valueOf(reply.getReplyNo()))
.collect(Collectors.joining(","));
'공부함 > JAVA Hard' 카테고리의 다른 글
| [ JAVA ] java.util.Date 와 java.sql.Date (0) | 2023.09.20 |
|---|---|
| [JAVA] List를 한줄의 문자열로 변경하기 ( join ) (0) | 2023.08.22 |
| [JAVA] List를 특정갯수(n)로 분할하기 (0) | 2022.12.27 |
| [JAVA] 파일 이름 줄이기( substring, lastIndexOf , indexOf ) (0) | 2022.09.29 |