HOWTO · Java

Java에서 예기치 않은 유형 오류 수정

이 자습서는 Java의 예기치 않은 유형 오류를 보여줍니다.

이 자습서는 Java의 예기치 않은 유형 오류를 보여줍니다.

Java 예기치 않은 유형 오류 수정

Java 예기치 않은 유형 오류는 변수가 아닌 값이나 표현식에 값을 할당하려고 할 때 발생합니다. 이는 변수에 값만 할당할 수 있음을 의미합니다.

예를 들어 DemoStr.charAt(i)에 변수가 아니라 값을 반환하고 char 유형을 입력하는 표현식이므로 값을 할당하려고 하면 이 코드에서 unexpected type 오류가 발생합니다.

다음은 이 오류의 예입니다.

package delftstack;

public class Example {
  public static void main(String[] arg) {
    String DemoStr = "delftstack";
    String ReversedString = "";
    for (int i = DemoStr.length() - 1; i >= 0; i--) {
      DemoStr.charAt(i) += ReversedString;
    }
    System.out.println(ReversedString);
  }
}

위의 코드는 문자열을 뒤집으려고 시도하지만 DemoStr.charAt(i)에 값을 할당하므로 Java 예기치 않은 유형 오류가 발생합니다. 출력 참조:

****.java:8: error: unexpected type
required: variable
found:    value

이 오류에 대한 해결책은 변수에 값을 할당하거나 문자열 버퍼 및 reverse() 메서드를 사용하여 문자열을 반전시키는 것입니다. 두 가지 방법으로 해결 방법은 다음과 같습니다.

해결책 1:

package delftstack;

public class Example {
  public static void main(String[] arg) {
    String DemoStr = "delftstack";
    String ReversedString = "";
    for (int i = DemoStr.length() - 1; i >= 0; i--) {
      ReversedString += DemoStr.charAt(i);
    }
    System.out.println(ReversedString);
  }
}

해결책 2:

package delftstack;

public class Example {
  public static void main(String[] arg) {
    String DemoStr = "delftstack";
    String ReversedString = "";
    ReversedString = new StringBuffer(DemoStr).reverse().toString();
    System.out.println(ReversedString);
  }
}

두 솔루션 모두 유사한 출력으로 유사하게 작동합니다.

kcatstfled