개체 유형 generic 목록에서 값을 가져 오려고합니다. 그리고 그 클래스의 한 속성의 가치에 어떤 조건을 넣고 싶습니다. 예를 들어 나는 테이블이 세 가지 기록을 저장 한일반 목록 반복 객체 유형 목록
class User {
private String firstName;
private String lastName;
private String companyName;
//Getters and Setters
}
Bean 클래스 사용자가 있습니다. 같은 (FIRST_NAME, LAST_NAME, COMPANY_NAME) (존 우즈, 영구) (빌 게이츠, 마이크로 소프트) (스티브 잡스, 애플)
을 내가 테이블에서 이러한 레코드를 얻고 때이 같은 목록입니다
List<T> list = query.getResultList();
사용자가 lastName = Jobs를 보유하고 있는지 확인한 다음 회사 값을 Google로 변경하고 싶습니다.
누군가 내가 어떻게해야하는지 알려주세요.
for(T item : list) {
if(item instanceof User && "Jobs".equals(((User)item).getLastName())) {
// Change company to google.
}
}
T는 메서드 수준 또는 클래스 수준에서 어떻게 정의됩니까? 만약 당신이 왜 그것을'List'에 직접 할당 할 수 없습니까? –
sidgate
나는 다른 클래스 일 수 있기 때문에 사용자로 지정하지 않았습니다. 나는 레코드의리스트를 얻는 메소드가 일반적이다. 이것은이 메소드가 다른 테이블에 대해서도 같은 일을한다는 것을 의미한다 (또는 클래스를 말할 수있다). 때로는 T도 다른 클래스가 될 수 있습니다. 그러나 그 메소드가 T로 호출 될 때마다 그것은 요구 사항에 따라 작동해야합니다. –