본문 바로가기

에러/JAVA

[에러] <JAVA> char cannot be dereferenced

원인

  • .toLowerCase()와 .toUpperCase()는 String관련 함수이기 때문에 char타입의 데이터에 사용하여 에러 발생

문제가 발생한 코드

char[] arr = a.toCharArray();

for(int i=0;i<arr.length;i++){

    if(Character.isUpperCase(arr[i]) == true){

          arr[i] = arr[i].toLowerCase();   

           str = str + arr[i];

    } else {

        arr[i] = arr[i].toUpperCase();

         str = str + arr[i];

      }

}

해결

  • char 타입의 데이터를 String타입으로 변환 후 관련 함수를 적용

해결 코드

 for(int i=0;i<arr.length;i++){

    if(Character.isUpperCase(arr[i]) == true){

           str = str + Character.toString(arr[i]).toLowerCase();;

       } else {

        str = str + Character.toString(arr[i]).toUpperCase();;

      }

}