2010-07-22 5 views
1

컨테이너가 개체가 아닌 값을 포함하고 있는지 쉽게 확인할 수 있습니까? 이것은 내가 일하고 싶습니다 코드입니다 :자바 컨테이너. 질문 포함

 

String[] i = {"One", "Two", "Three"}; 

if (Arrays.asList(i).contains("One")){ 
return true; 
} 
 

거기에 방법이 있나요 아니면 내가 직접 루프를 통해 루프해야합니까?

+0

나는 그것을 그대로 그대로 복사했으며 효과가 있었다. – corsiKa

답변

3

정상적으로 작동합니다. String은 객체이므로 contains(Object) 오버로드 (equals을 기반으로 함)를 사용할 수 있습니다.

+0

'contains()'는'=='대신'.equals'을 사용합니다. 나는 이제 막 생각하고있다. – Falmarri

1

코드를 사용해 보셨습니까? 그것은 작동해야합니다.

Java 콜렉션은 동등성을 확인하기 위해 equals을 사용합니다. 따라서 개체의 equals 메서드가 값 (참조가 아닌) 평등을 테스트하면 원하는 것은 작동합니다.

문자열이 값이 같은지 확인합니다.

0

다른 모든 사람을 반복하려면 문자열 이 개체 인 경우이므로 정상적으로 작동합니다. contains() 메서드는 Object.equals()를 사용하여 지정된 객체가 목록에 있는지 여부를 확인합니다.

1
class ContainsTest { 
    public static void main(String[] args) { 
     String[] i = {"One", "Two", "Three"}; 
     System.out.println(java.util.Arrays.asList(i).contains("One")); 
    } 
} 

OUTPUT

----jGRASP exec: java ContainsTest 

true 

----jGRASP: operation complete. 

나는 그것이 작동 말할 것입니다.