해당 규칙은 ``Collection 항목에 대한 반복이
Collection` 타입의 상위 유형에서 수행되는 경우 문제를 제기합니다.
객체 또는 실제 객체와 Collections
에 사이에 의존하는 것은 권장하지 않습니다. 언어에서 허용되는 동안, 해당 관행은 코드의 가독성을 떨어뜨리고 반복에서 올바른 유형을 사용하는 동안 항목을 더 명확하고 간단하게 작업할 수 있도록 Collection
항목이 메소드를 호출하도록 강제로 다운캐스트합니다.
규칙을 어긴 코드
public Collection<Person> getPersons() { ... }
for (Object item : getPersons()) { // 규칙을 어긴 코드
Person person = (Person) item; // 규칙을 어긴 코드; "item" 항목을 사용하려면 올바른 타입으로 다룬캐스팅 하여야 합니다.
person.getAdress();
}
규칙을 준수한 해결책
for (Person person : getPersons()) { // 규칙을 준수한 해결책
person.getAddress() ;
}
If you like SONARKUBE, don’t forget to give me a star.