Java에서 Int Cannot Be Dereferenced 오류 해결
이 기사에서는 Java int를 역참조할 수 없음
예외의 원인과 해결 방법에 대해 설명합니다. 먼저 Java의 역참조가 무엇인지 살펴보십시오.
Java의 역참조
기본 및 개체 변수는 Java에서 사용할 수 있는 두 가지 유형의 변수입니다. 그러나 객체 변수만 참조 유형이 될 수 있습니다. int 데이터 유형은 객체가 아닌 기본 형식입니다.
참조가 가리키는 값에 액세스하는 것을 역참조라고 합니다. int는 이미 값이고 다른 것에 대한 참조가 아니기 때문에 역참조하는 것은 불가능합니다.
Java에서 int를 역참조할 수 없음
의 원인
- Java에서 참조는 특정 개체 또는 변수를 가리키는 주소입니다. 역참조라는 용어는 참조를 통해 객체의 속성을 얻는 것을 말합니다.
- 아래 예와 같이 프리미티브에 역참조를 수행하려고 하면
Z
는 역참조할 수 없습니다. 여기서Z
는 프리미티브로 간주되는 유형입니다. - 그 이유는 프리미티브가 객체와 같은 것이 아니기 때문입니다. 대신 원시 값 표현입니다.
Java에서 int를 역참조할 수 없음
오류 해결
int는 역참조할 수 없습니다
를 이해하고 아래 예제를 통해 이를 수정하는 방법을 알아봅시다.
예:
public class Main {
public static void main(String[] args) {
int Z = 8;
System.out.println(Z.equals(8));
}
}
먼저 Main
클래스를 만들고 임의로 선택한 값과 int를 비교했습니다. Z
는 int, byte, short 등을 포함하는 Java의 8가지 기본 데이터 유형 중 하나입니다.
코드를 컴파일하려고 하면 다음 오류가 표시됩니다.
Main.java:5: error: int cannot be dereferenced
System.out.println(Z.equals(8));
^
1 error
우리의 경우 두 값이 같은지 여부를 확인해야 합니다. 우리의 문제를 해결하는 것은 기본 유형에 대해 equals()
함수 대신 ==
표기법을 활용하는 것입니다.
public class Main {
public static void main(String[] args) {
int Z = 8;
System.out.println(Z == 8);
}
}
코드를 컴파일하면 다음 출력이 인쇄됩니다.
true
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn