계층 주문 목록에 저장 경로와 그 검증 알고리즘은 매우 간단기능적인 스타일 검증 알고리즘
List<String> path = Lists.newArrayList("path","to","end");
Iterator<String> iterator = path.iterator();
while (iterator.hasNext()) {
if (iterator.next() == null) {
while (iterator.hasNext()) {
if (iterator.next() != null) {
throw new Exception("Invalid path");
}
}
}
}
을 상상해보십시오.
모든 하위 노드가있는 리프 또는 노드 만 null이어야합니다.
유효한 경로 :
"path", "to", "end"
"path", "to", null
"path", null, null
null, null, null
잘못된 경로 : 나는 기능적인 스타일을 재 작성하는 방법을 찾고 있어요
"path", null, "end"
null, null, "end"
null, "to", "end"
null, "to", null
.
나는 당신의 질문을 혼란스럽게 만드는 "유효한 경로"에 오타가 있다고 생각합니다. 'null' 주위에 따옴표를 넣으 려했다는 뜻입니까? – 4castle
@ 4castle thx, 오타가 수정되었습니다 – Rob
비 기능 솔루션의 문제점은 무엇입니까? 당신은 자신에게 말했습니다 - 당신의 명령형 알고리즘은 간단하고 상대적으로 간단합니다. (당신이 필요로하지 않기 때문에 두 번째 중첩 된 것을 제거 할 것입니다). 그것은 기능적인 재 작성으로부터 이익을 얻지 못할 것이고, 대부분은 복잡성을 얻을 것이다. (예를 들어 기능적인 구현에는'Tuple' 클래스가 필요할 것이다.) –