띠옹바루
167
2019-02-22 19:42:39
3
239

자바 PMD AvoidArrayLoops 오류 수정?


회사에서 PMD 수정 작업을 하고 있는데요.
아래 for 구문에서 AvoidArrayLoops PMD 오류 검출 나와서 수정을 해야 하는데
어느 부분을 고쳐야 할지 막히네요 ㅠ


소스는 퇴근하면서 생각나는대로 적어서 조금 틀린부분 있을수 있습니다.


String[] strA = null;
String[][] strB = null;
StringBuffer sb = new StringBuffer();


strA = str.split(“##”);
strB = new String[strA.length][2];



for(int i=1; i<strA.length; i++){   // AvoidArrayLoops 오류
     strB[i][1] = strA[i];
     sb.append(strB[i][1]);
}

0
0
  • 답변 3

  • 초무쿤
    2k
    2019-02-22 20:06:39

    for(int i=1,len=strA.length; i < len; i++){ 

         strB[i][1] = strA[i];

         sb.append(strB[i][1]);

    }

    사실 참조의 경우 별 의미는 없습니다.

    1
  • 띠옹바루
    167
    2019-02-25 10:56:59

    답변 감사합니다.

    해당 for 문에 strA.length 값 변수에 담아서 수정했는데도 동일하게 

    // AvoidArrayLoops 오류 개선이 안되는것 같네요


    아래처럼  String.valueof 변경하니까  AvoidArrayLoops 오류발생하지

    결과값도 동일하게 나오는데 맞게 변경이 된건지 특이사항이 없을지

    추가로 문의드립니다.


    변경 전 : strB[i][1] = strA[i]; 

    변경 후 : strB[i][1] = String.valueof(strA[i]) ;

    0
  • 초무쿤
    2k
    2019-02-25 11:12:40
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.