Java 错误 Char Cannot Be Dereferenced
本篇文章介绍如何解决Java的 java char cannot be dereferenced 错误。
Java Char cannot be dereferenced
当我们尝试使用 equals()
方法检查一个字符是否与另一个字符相等时,会出现错误 java char can not be dereferenced。 在Java中,引用是变量或对象的地址,解除引用意味着通过该引用访问变量或对象的功能。
Char 是原始类型变量,取消引用原始类型将引发错误 char 无法取消引用或无法调用原始类型 char 上的方法。 发生此错误的原因是基元被视为原始值而不是对象。
这是引发相同错误的示例:
package jiyik;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Example {
public static void main(String args[]) {
do {
BufferedReader Buffered_Reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter Your String");
String DemoString = Buffered_Reader.readLine();
if (DemoString.length() < 10) {
System.out.println("");
System.out.println("Please input a valid 10 digit phone number");
System.out.println("");
} else {
if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
System.out.println("2 Hyphens at 3 and 7");
} else if (DemoString.charAt(3).equals('-')
&& DemoString.charAt(8).equals('-')) {
System.out.println("2 Hyphens at 3 and 8");
} else if (DemoString.charAt(3).equals('-')
&& DemoString.charAt(9).equals('-')) {
System.out.println("2 Hyphens at 3 and 9");
}
}
} while (1 < 2);
}
}
上面的代码将抛出多个 char Cannot be dereferenced 错误。 查看输出:
Example.java:19: error: char cannot be dereferenced
if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
^
Example.java:19: error: char cannot be dereferenced
if (DemoString.charAt(3).equals('-') && DemoString.charAt(7).equals('-')) {
^
Example.java:21: error: char cannot be dereferenced
} else if (DemoString.charAt(3).equals('-')
^
Example.java:22: error: char cannot be dereferenced
&& DemoString.charAt(8).equals('-')) {
^
Example.java:24: error: char cannot be dereferenced
} else if (DemoString.charAt(3).equals('-')
^
Example.java:25: error: char cannot be dereferenced
&& DemoString.charAt(9).equals('-')) {
^
6 errors
error: compilation failed
解决此错误的方法是使用 ==
运算符而不是 equals()
方法。 查看解决方案:
package jiyik;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Example {
public static void main(String args[]) throws IOException {
do {
BufferedReader Buffered_Reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter Your String");
String DemoString = Buffered_Reader.readLine();
if (DemoString.length() < 10) {
System.out.println("");
System.out.println("Please input a valid 10 digit phone number");
System.out.println("");
} else {
if (DemoString.charAt(3) == '-' && DemoString.charAt(7) == '-') {
System.out.println("2 Hyphens at 3 and 7");
} else if (DemoString.charAt(3) == '-'
&& DemoString.charAt(8) == '-') {
System.out.println("2 Hyphens at 3 and 8");
} else if (DemoString.charAt(3) == '-'
&& DemoString.charAt(9) == '-') {
System.out.println("2 Hyphens at 3 and 9");
}
}
} while (1 < 2);
}
}
现在错误 char Cannot be dereferenced 已在代码中解决。 查看输出:
Enter Your String0000000000
Enter Your String
Please input a valid 10 digit phone number
Enter Your String
相关文章
修复 Java 中错误 Error: Else Without if
发布时间:2023/07/13 浏览次数:183 分类:Java
-
本篇文章我们将了解在用 Java 编写代码时只说 'else' without 'if' 的错误。 我们还将找出导致此错误的可能原因并找到解决方案。Java 中 error: 'else' without 'if'
Java 错误 Javac Is Not Recognized as an Internal or External Command, Operable
发布时间:2023/07/13 浏览次数:108 分类:Java
-
本文介绍了 Java 的 'javac' is not recognized as an internal or external command, operable program or batch file 的可能原因以及该错误的可能解决方案。 首先,我们来看看 javac 是什么。Java 中的 Javac
Java 错误 Java.Net.SocketTimeoutException: Connection Timed Out
发布时间:2023/07/13 浏览次数:161 分类:Java
-
在本篇文章中,我们将讨论 java.net.SocketTimeoutException: Connection timed out。 但首先,让我们仔细看看套接字和超时的概念。Java 中的套接字 两个计算机应用程序之间的逻辑链接可能有多个端点,其
解决 Java 中 Generic Array Creation 错误
发布时间:2023/07/12 浏览次数:189 分类:Java
-
本篇文章通过代码示例说明了 generic array creation 错误,并重点介绍了创建通用数组时出现此错误的原因。 本次讨论将得出解决方案,我们将学习如何使用对象数组和反射功能创建通用数组。
修复 Java 错误 java.lang.UnsupportedClassVersionError
发布时间:2023/07/12 浏览次数:130 分类:Java
-
本篇文章介绍了 Java 中的 Exception in thread main java.lang.UnsupportedClassVersionError 错误。java.lang.UnsupportedClassVersionError的原因 UnsupportedClassVersionError 是 ClassFormatError 异常的子类,当 JVM 尝试读取类并发现
修复 Class X Is Public Should BeDeclared in a File Named X.java 错误
发布时间:2023/07/12 浏览次数:192 分类:Java
-
我们将经历各个阶段,从演示一个编译时错误开始,该错误指出类 X 是公共的,应该在名为 X.java 的文件中声明。 class X is public, should be declared in a file named X.java 的原因 然后,我们将看到导致此
Java 错误 Invalid LOC Header (Bad Signature)
发布时间:2023/07/12 浏览次数:192 分类:Java
-
本篇文章介绍了 Java 的无效 LOC 标头(错误签名)错误。Java 中无效的 LOC 标头(错误签名) 每当本地 Maven 存储库中的 jar 文件损坏时,就会出现无效 LOC 标头(错误签名)错误。
修复在 Java 中无法在系统上找到 JVM 定义 EXE4J_JAVA_HOME 错误
发布时间:2023/07/12 浏览次数:144 分类:Java
-
本篇文章讨论了为什么在您的系统上找不到 JVM 定义 EXE4J_JAVA_HOME 错误。 然后,它还提供了修复此错误的可能解决方案。Java中EXE4J_JAVA_HOME错误描述、可能原因和解决方案
Java 错误 java.net.ConnectException
发布时间:2023/07/12 浏览次数:171 分类:Java
-
本篇文章介绍了 Java 中的 java.net.ConnectException 错误。Java 中的 java.net.ConnectException 错误 java.net.ConnectException 是使用网络时最常见的异常。 它主要发生在客户端、应用程序和服务器之间建立 TCP 连