>Java >java지도 시간 >Java에서 '호환되지 않는 유형: void를 변환할 수 없습니다' 오류가 발생하는 이유는 무엇입니까?

Java에서 '호환되지 않는 유형: void를 변환할 수 없습니다' 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-23 19:47:10986검색

Why Does Java Throw an

호환되지 않는 유형: void는 변환할 수 없습니다

문제:

Java 컴파일 메시지 "호환되지 않는 유형: void는 변환할 수 없습니다. 변환됨..."은 컴파일러가 void 유형과 관련된 유형 오류를 감지했음을 나타냅니다. 구체적으로 말하면, 코드가 값을 반환하지 않는 메서드의 결과를 사용하려고 한다는 의미입니다.

자세한 설명:

기본값과 달리 void 유형 또는 참조 유형은 값이 없음을 나타냅니다. 이는 메서드가 어떤 값도 반환하지 않음을 나타내기 위해 메서드 선언에서 주로 사용됩니다. 이러한 메서드를 호출하면 사용할 수 있는 값이 반환될 것으로 기대할 수 없습니다.

예:

다음 코드를 고려하세요.

public class Test {
    private static void add(int a, int b) {
        int res = a + b;
    }

    public static void main(String[] args) {
        int sum = add(1, 1);
    }
}

이 코드를 컴파일할 때 다음 오류가 발생합니다.

error: incompatible types: void cannot be converted to int
        int sum = add(1, 1);
                     ^

이것은 오류는 void인 add 메서드의 결과를 int 변수에 할당하려고 함을 나타냅니다. 그러나 void는 값을 나타내지 않으므로 어떤 유형의 변수에도 할당할 수 없습니다.

해결책:

이 오류를 해결하려면 다음 중 하나를 수행하세요.

  1. 메서드 선언 변경: 결과와 같은 값을 반환하도록 add 메서드를 수정합니다.
  2. 반환 값 사용 방지: 반환 값을 변수에 할당하려고 시도하는 줄을 제거합니다(예: int sum = add(1, 1);를 다음으로 대체). 추가(1, 1);).

위 내용은 Java에서 '호환되지 않는 유형: void를 변환할 수 없습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.