2013-07-31 3 views
0

다음 코드는 기본적으로 모든 코어를 추가하지만 시퀀스는 위쪽으로 셀 수는 없습니다. 어떤 아이디어가 잘못 됐나요?시퀀스가 ​​위쪽으로 계산되지 않습니다.

globalMap.containsKey(row1.File_Name.toUpperCase()) ? 
    (String)globalMap.get(row1.File_Name.toUpperCase()) : 
    (globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
     "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null ? 
    (String)globalMap.get(row1.File_Name.toUpperCase()) : 
    (String)globalMap.get(row1.File_Name.toUpperCase()) 

미리 조언 해 주셔서 감사합니다.

+4

왜 이런 코드를 작성하겠습니까 ?? 특히 두 번째 삼원 연산자는 정말 못생긴 해킹입니다 ... 만약 당신이 부분으로 나누면 아마 잘못 될 수있는 것을 정확히 쉽게 찾아 낼 수 있습니다. –

+2

3 진 연산자에서 사용되는 명령문에 부작용이있는 것은 바람직하지 않습니다. 제 생각에 코드가 이해하기 쉽고 어떤 if 블록을 사용했는지 추측 할 수 있습니다. –

+0

이 부분을 하나의 고립 된 부분으로해서는 안됩니까? Numeric.sequence (row1.File_Name, 1, +1) .toString()) == null입니까? (String) globalMap.get (row1.File_Name.toUpperCase() ")": (String) globalMap.get (row1.File_Name.toUpperCase()). 거기에는 없어야하는 괄호가 있습니다. 나는 ""으로 표시했다. – Wandang

답변

0

아, 알아 냈어. 나는 진실하고 틀린 조건을 바꿔야 만했다. 나는 같은 것을 세고 싶었다.

나는 두뇌가 너무 어질러워 - 새날, 상쾌한 두뇌, 그리고 끝난 것 같아.

globalMap.containsKey(row1.File_Name.toUpperCase()) ? 
    (globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
     "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null ? 
      (String)globalMap.get(row1.File_Name.toUpperCase()) : 
      (String)globalMap.get(row1.File_Name.toUpperCase()) 
    ): 
    (String)globalMap.get(row1.File_Name.toUpperCase()) 
1

실제로 어떤 값을 반복적으로 증가시키는 지 알 수는 없으므로 시퀀스가 ​​증가하지 않는 이유 일 수 있습니다.

if(globalMap.containsKey(row1.File_Name.toUpperCase())){ 
    (String)globalMap.get(row1.File_Name.toUpperCase()) 
}else{ 
    if((globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
    "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null){ 
     (String)globalMap.get(row1.File_Name.toUpperCase()); 
    }else{ 
     (String)globalMap.get(row1.File_Name.toUpperCase()) 
    } 
} 

다음은 if/else 문과 코드의 모양입니다. 나는이 코드를 컴파일하지 않았고 쉽게 괄호를 추적 할 수 없으므로 컴파일 할 것인지 확신 할 수 없다.

관련 문제