2014-01-29 2 views
0

select * 값이 Java String[] 인 경우 궁금한 점이 있습니까? 아니면 먼저 문자열 배열에서 값 문자열을 작성해야합니까?Java - 값 배열로 선택

나는 단수 선택이나 배열에서 값의 문자열을 구축하지 않고 기술적으로 이렇게 최선의 방법을 찾으려고 노력하고 있습니다.

감사합니다.

String[] lookupValues = new String[]{"1", "2", "3", "4"}; 
Select * from database where value in (lookupvalues) 
+0

수행하려는 작업을 자세히 설명 할 수 있습니까? String []을 필터링하고 싶습니까? – Fernando

+0

Java에서 MySQL로 질의를 어떻게 보냅니 까? JDBC는 어디에 있습니까? – Stewart

답변

1

시도 Arrays.toString(lookupvalues) 또는 유틸리티 기능을 작성하십시오.

public String toString(String[] values, boolean addQuotes) { 

     StringBuilder buff = new StringBuilder(); 
     for(String value : values) { 
      if(addQuotes) { 
       buff.append(String.format("\"%s\"", value)).append(","); 
      } else { 
       buff.append(value).append(","); 
      } 
     } 
     buff.deleteCharAt(buff.length()-1); // delete the last comma 
     return buff.toString(); 
    } 
0

나는 이것이 배열만을 고려하여 귀하의 질문에 대한 직접적인 대답이 아니라는 것을 알고 있습니다. Guava은 Java Collection에 필터 구현을 제공하므로 사용 하시길 바랍니다. 검증 된 라이브러리를 사용하면 다른 종류의 필터를 사용하면 유연성을 얻을 수 있습니다. 당신이로 필터링 모음을 원하는 경우에

Collection<String> filtered = Collections2.filter(list, 
    Predicates.containsPattern("3")); 
print(filtered); 

3 

를 찾을 수 :

쉽게 올바른 수거

String[] lookupValues = new String[]{"1", "2", "3", "4"}; 
List<String> list = new ArrayList<String>(Arrays.asList(lookupValues)); 

로 배열을 변환 구아바 필터를 필터링 할 수 있습니다 목록에서 Guava의 다음과 같이 사용할 수 있습니다.

List<String> filteredList = Lists.newArrayList(Collections2.filter(
    list, Predicates.containsPattern("3"))); 
0

배열로 문자열을 검색 하시겠습니까? 그렇다면 Collections.binarySearch() 또는 Arrays.binarySearch()을보고 싶을 수 있습니다. 그러나 이진 검색을 수행하기 전에 모음 또는 배열을 정렬해야합니다.