컬렉션 / 배열 / 목록에서 쉼표로 구분 된 문자열을 만드는 가장 정교한 방법은 무엇입니까?

머치 :

데이터베이스 작업 중에 쿼리 문자열을 작성하는 것을 알았고이 문자열에는 list / array / collection의 where-clause에 몇 가지 제한 사항이 있어야합니다. 다음과 같이 보일 것입니다 :

select * from customer 
where customer.id in (34, 26, ..., 2);

문자열 모음이 있고이 문자열의 쉼표로 구분 된 목록을 하나의 문자열로 작성하려는 문제로이를 줄임으로써이를 단순화 할 수 있습니다.

내가 지금까지 사용한 접근법은 다음과 같습니다.

String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
    if(first) {
        result+=string;
        first=false;
    } else {
        result+=","+string;
    }
}

그러나 이것은 당신이 매우 못생긴 것을 볼 수 있습니다. 특히 모든 SQL 쿼리와 같이 생성 된 문자열이 복잡 해지는 경우 첫 번째 모습에서 어떤 일이 발생하는지 알 수 없습니다.

당신의 (더) 우아한 방법은 무엇입니까?

기멜 :

참고 :이 답변은 11 년 전에 작성되었을 때 좋았지 만 이제는 Java 내장 클래스 만 사용하거나 유틸리티 라이브러리를 사용하여 한 줄로 더 명확하게 수행 할 수있는 훨씬 더 나은 옵션이 있습니다. 아래의 다른 답변을 참조하십시오.


문자열은 변경할 수 없으므로 코드에서 문자열을 변경하려는 경우 StringBuilder 클래스를 사용할 수 있습니다.

StringBuilder 클래스는 내용이 변경 될 때 더 많은 메모리를 할당하는 변경 가능한 String 객체로 볼 수 있습니다.

중복 된 후행 쉼표 를 처리하여 문제의 원래 제안을 훨씬 명확하고 효율적으로 작성할 수 있습니다 .

    StringBuilder result = new StringBuilder();
    for(String string : collectionOfStrings) {
        result.append(string);
        result.append(",");
    }
    return result.length() > 0 ? result.substring(0, result.length() - 1): "";

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

C #에서 short [] 배열의 숫자에서 쉼표로 구분 된 문자열을 만드는 가장 좋은 방법은 무엇입니까?

Python 목록에서 쉼표로 구분된 문자열을 만드는 방법은 무엇입니까?

LINQ를 사용하여 고유 한 값 목록에서 쉼표로 구분 된 문자열을 만드는 방법은 무엇입니까?

쉼표로 구분 된 문자열로 목록을 만드는 방법은 무엇입니까?

쉼표로 구분 된 문자열 변수에서 숫자 값을 가져 와서 문자열 배열을 변환하는 방법은 무엇입니까?

쉼표로 구분 된 문자열에서 배열을 만들고 낮은 순서로 정렬 한 다음 다시 쉼표로 구분 된 문자열로 결합하는 방법은 무엇입니까?

배열에서 쉼표로 구분된 값을 수정하는 가장 간단한 방법은 무엇입니까?

java에서 쉼표로 구분 된 문자열 값에서 json을 만드는 방법은 무엇입니까?

쉼표로 구분 된 문자열에서 이름과 정수 값을 읽는 방법은 무엇입니까?

Java 8에서 ArrayList에서 문자열 값을 가져 와서 쉼표로 구분 된 단일 문자열로 저장하는 방법은 무엇입니까?

목록에서 쉼표로 구분 된 문자열을 PySpark의 쿼리로 가져 오는 방법은 무엇입니까?

쉼표로 구분 된 문자열 열을 목록으로 변환하는 방법은 무엇입니까?

Java에서 목록을 쉼표로 구분 된 문자열로 변환하는 가장 좋은 방법

JavaScript : json 문자열에서 쉼표로 구분 된 문자열을 얻는 방법은 무엇입니까?

쉼표로 구분 된 부동 소수점 값 문자열을 부동 배열에 저장하는 방법은 무엇입니까?

쉼표로 구분 된 문자열을 목록으로 변환하는 방법은 무엇입니까?

쉼표로 구분 된 문자열에서 고유 한 요소를 찾는 방법은 무엇입니까?

쉼표로 구분 된 문자열 요소를 int 배열에 넣는 방법은 무엇입니까?

쉼표로 구분 된 숫자 문자열을 정수로 변환하는 방법은 무엇입니까?

쉼표로 구분 된 레코드 문자열을 분할하고 MySQL에서 순차적으로 정렬하는 방법은 무엇입니까?

쉼표로 구분 된 문자열 또는 / n으로 구분 된 문자열을 jquery의 목록으로 변환하는 방법은 무엇입니까?

R: 열에서 쉼표로 구분된 모든 문자 값을 계산하는 방법은 무엇입니까?

Excel에서 쉼표로 구분 된 문자열을 반전하는 방법은 무엇입니까?

MySQL에서 쉼표로 구분 된 문자열 값을 쿼리하는 방법은 무엇입니까?

문자열과 정수로 구성된 문자열 목록을 만드는 방법은 무엇입니까?

Codeigniter에서 쉼표로 구분된 문자열을 가져오고 세션 ID와 비교하는 방법

문자열 배열로 구성된 배열 목록을 정렬하는 방법은 무엇입니까?

개체 배열을 쉼표로 구분 된 문자열로 변환하는 방법은 무엇입니까?

쉼표로 구분 된 문자열을 배열로 변환하는 방법은 무엇입니까?