2017-09-21 3 views
-1

여러 개체가있는 List가 있습니다. 모든 개체에 대해 우리는 내가목록에있는 요소를 찾고 Enum 값과 비교합니다.

List listOutput = errorsList.stream(). 
filter(e -> e.getObjType().contains(String.valueOf(ObjectType.values()))) 
.collect(Collectors.toList()); 

하지만 return 0 값이 존재하는 방법을 아래에 사용하고이를 위해 특정 개체

public enum ObjectType { 
CONTACT("Contact"), 
BANK_DETAILS("Bank-Details"), 
EMPLOYMENT("Employment"), 
PRODUCT("Product"), 
INCOME_DETAIL("Income-Details"); 
ObjectType(String values) { this.values = values; } 
public String getValues() { return values; } 
private String values; } 

의 목록을 어떻게 열거 값을 비교 어떤 문자열을 찾을 수있다

+0

코드를 더 추가 할 수 있습니까? ObjectType은 무엇입니까? – grsdev7

+0

public enum ObjectType { 연락처 ("연락처"), BANK_DETAILS (은행 세부 정보), 직원 ("고용"), PRODUCT ("제품"), INCOME_DETAIL ("소득 세부 정보"); ObjectType (문자열 값) { this.values ​​= values; } public String getValues ​​() { 반환 값; } 전용 문자열 값; } – priya

+0

'errorsList' 란 무엇이며'ObjectType'의 속성을 포함합니까? – nullpointer

답변

0

(열거 형 추가 검사 방법)이 시도 :

public enum ObjectType { 
    CONTACT("Contact"), 
    BANK_DETAILS("Bank-Details"), 
    EMPLOYMENT("Employment"), 
    PRODUCT("Product"), 
    INCOME_DETAIL("Income-Details"); 

    private String values; 

    ObjectType(String values) { 
     this.values = values; 
    } 

    public String getValues() { 
     return values; 
    } 

    public static boolean isValueExists(String test) { 
     for (ObjectType o : ObjectType.values()) { 
      if (o.getValues().equals(test)) { 
       return true; 
      } 
     } 
     return false; 
    } 

} 

그리고 나서 사용하십시오 :

List listOutput = errorsList.stream().filter(e -> ObjectType.isValueExists(e.getObjType())).collect(Collectors.toList()); 
+0

isValueExists (e.getObjType())'호환되지 않는 유형입니까? – nullpointer

+0

@nullpointer, @priya 코드에서 알 수 있듯이,'e.getObjType()'은 ENUM 개체가 아니라'String'입니다. 이 경우에 더 많은 코드 예제가 필요하지만 잘못되었을 수도 있습니다. – Leffchik

+0

같은 점은 질문이 처음에는 명확하지 않은 것 같습니다. – nullpointer

관련 문제