Java Char kann nicht dereferenziert werden
Dieses Tutorial zeigt, wie Sie den Java-Fehler Java-Zeichen können nicht dereferenziert werden
beheben.
Java Char kann nicht dereferenziert werden
Der Fehler Java-Zeichen kann nicht dereferenziert werden
tritt auf, wenn wir versuchen, die Methode equals()
zu verwenden, um zu überprüfen, ob ein Zeichen mit einem anderen gleich ist. In Java ist eine Referenz eine Adresse zu einer Variablen oder einem Objekt, und die Dereferenzierung bedeutet, über diese Referenz auf die Funktionen einer Variablen oder eines Objekts zuzugreifen.
Char ist eine Variable vom primitiven Typ, und das Dereferenzieren eines primitiven Typs wird den Fehler char kann nicht dereferenziert werden
oder cannot invoke a method on primitive type char
ausgeben. Dieser Fehler tritt auf, weil das Primitiv als Rohwerte und nicht als Objekte betrachtet wird.
Hier ist ein Beispiel, das denselben Fehler auslöst:
package delftstack;
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);
}
}
Der obige Code löst mehrere char kann nicht dereferenziert werden
-Fehler aus. Siehe Ausgabe:
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
Die Lösung für diesen Fehler ist die Verwendung des Operators ==
anstelle der Methode equals()
. Siehe die Lösung:
package delftstack;
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);
}
}
Nun ist der Fehler char not be dereferenced
im Code behoben. Siehe Ausgabe:
Enter Your String0000000000
Enter Your String
Please input a valid 10 digit phone number
Enter Your String
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookVerwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse