在本文中,我们将讨论 Java 中 int cannot be dereferenced 异常的原因以及如何修复它。 首先,了解一下 Java 中的解引用是什么。
Java 中的取消引用
原始变量和对象变量是 Java 中可以使用的两种类型的变量。 但是,只有对象变量可以是引用类型。 int 数据类型是原始数据类型而不是对象。
访问引用所指向的值就是所谓的解除引用。 不可能取消引用 int,因为它已经是一个值,而不是对其他任何东西的引用。
Java中 int cannot be dereferenced 的原因
- Java中的引用是指向特定对象或变量的地址。 术语解除引用是指通过引用获取对象的属性。
- 如果您尝试对基元执行任何取消引用(如下面的示例),您将收到错误 Z 无法取消引用,其中 Z 是被视为基元的类型。
- 造成这种情况的原因是基元与对象不同。 相反,它们是原始值表示。
解决Java中 int cannot be dereferenced 错误
让我们了解 int cannot be dereferenced,并借助下面的示例找出如何修复它:
例子:
public class Main {
public static void main(String[] args) {
int Z = 8;
System.out.println(Z.equals(8));
}
}
首先,我们创建了 Main 类,并将 int 与随机选择的值进行比较。 Z是Java的八种基本数据类型之一,包括int、byte、short等。
当我们尝试编译代码时,我们会看到以下错误:
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